用于lucene elasticsearch的html和javascript tokenizer

时间:2014-11-07 23:53:54

标签: elasticsearch lucene

我想将html(不是解析!)和javascript标记化,以便我可以搜索我们生成的源代码。

例如,查询:

field:"jquery.1.11.min.js"

将返回包含该文档的文档。

有没有人有关于代码标记器的信息?

1 个答案:

答案 0 :(得分:0)

我本身并不知道任何代码分析器。通常,如果要索引Web内容,您可以使用其他一些库来解析它并提取内容,然后对提取的内容进行分析和索引。

但是,寻找猎枪方法,只需将一堆原始代码放入索引即可。无论你怎么做,分析都不会是完美的,但无论如何它都是近似的努力。第一遍,我可能会跟PatternAnalyzer一起去。我甚至不会改变默认值。默认值\W+表示您的令牌将是连续的字母,数字和下划线序列,这与标识符通常使用的一致。

所以,如果你有:

<script src="jquery-1.11.min.js"></script>

最终使用以下代码:scriptsrcjquery111min,{{1} },js

这可能对搜索短语最有用。因此,对于您指定的搜索,您将使用相同的分析,并搜索包含五个连续字词的短语:scriptjquery1,{{ 1}},11。这似乎足够合理。

当然,存在一些重大缺陷。例如,无法区分minjs2.11。要记住的事情。