【发布时间】:2014-11-07 23:53:54
【问题描述】:
我想标记 html(不是解析!)和 javascript,以便我可以搜索我们生成的源代码。
例如,查询:
field:"jquery.1.11.min.js"
将返回包含该内容的文档。
有人知道关于代码标记器的信息吗?
【问题讨论】:
标签: elasticsearch lucene
我想标记 html(不是解析!)和 javascript,以便我可以搜索我们生成的源代码。
例如,查询:
field:"jquery.1.11.min.js"
将返回包含该内容的文档。
有人知道关于代码标记器的信息吗?
【问题讨论】:
标签: elasticsearch lucene
我本身不知道有任何代码分析器。一般来说,如果你想索引网页内容,你会使用一些其他的库来解析它并提取内容,然后分析和索引提取的内容。
但是,寻找霰弹枪方法,只是将一堆原始代码直接放入索引中。无论您如何进行分析都不会完美,但无论如何这都是一种近似的努力。我可能会选择PatternAnalyzer,作为第一次通过。我什至不会更改默认值。默认值 \W+ 表示您的标记将是字母、数字和下划线的连续序列,这与通常用于标识符的内容有关。
所以,如果你有:
<script src="jquery-1.11.min.js"></script>
您最终会得到以下令牌:script、src、jquery、1、11、min、js、script
这可能对搜索短语最有用。因此,对于您指定的搜索,您将使用相同的分析,并搜索包含五个连续词的短语:jquery、1、11、min、js。这似乎很合理。
当然,有一些明显的弱点。例如,不可能区分 2.11、2*11 和 2+11。需要牢记的一点。
【讨论】: