我需要提供对javascript源文件的全文搜索和突出显示的结果。我的问题是,现有ElasticSearch标记器和分析器的什么组合最适合于此?
erhoui1w1#
有趣的问题,但我不知道一个开箱即用的解决方案。你可以使用一个WordDelimiter tokenizer,你可以指定例如下划线作为一个数字处理,然后像hello_world(或helloWorld,如果启用了camelcase)这样的函数将通过hello或world进行搜索。但我怀疑结果是否足够...您必须实现source code analyzer yourself或使用代码which extracts the syntax tree将方法名和方法体索引到不同的字段中
wxclj1h52#
你可以使用attachment type plugin将文件加载到Elasticsearch中,并让它为文件建立索引。它可以处理文件的 meta数据,并为文件的内容建立索引。github page包含有关如何突出显示搜索文档的信息。
ee7vknir3#
除非你想把它作为一个服务公开给别人,否则我建议你在eclipse中安装InstaSearch插件;这个插件创建lucense索引并给你即时的结果。
lyr7nygr4#
这类索引功能是MS Azure DevOps Server的ElasticSearch配置的一部分。虽然我不知道它是如何完成的:/
4条答案
按热度按时间erhoui1w1#
有趣的问题,但我不知道一个开箱即用的解决方案。你可以使用一个WordDelimiter tokenizer,你可以指定例如下划线作为一个数字处理,然后像hello_world(或helloWorld,如果启用了camelcase)这样的函数将通过hello或world进行搜索。
但我怀疑结果是否足够...您必须实现source code analyzer yourself或使用代码which extracts the syntax tree将方法名和方法体索引到不同的字段中
wxclj1h52#
你可以使用attachment type plugin将文件加载到Elasticsearch中,并让它为文件建立索引。它可以处理文件的 meta数据,并为文件的内容建立索引。
github page包含有关如何突出显示搜索文档的信息。
ee7vknir3#
除非你想把它作为一个服务公开给别人,否则我建议你在eclipse中安装InstaSearch插件;这个插件创建lucense索引并给你即时的结果。
lyr7nygr4#
这类索引功能是MS Azure DevOps Server的ElasticSearch配置的一部分。虽然我不知道它是如何完成的:/