Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elasticsearch自定义词干生成算法_Search_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Lucene_Stemming - Fatal编程技术网 elasticsearch,lucene,stemming,Search,elasticsearch,Lucene,Stemming" /> elasticsearch,lucene,stemming,Search,elasticsearch,Lucene,Stemming" />

Elasticsearch自定义词干生成算法

Elasticsearch自定义词干生成算法,search,elasticsearch,lucene,stemming,Search,elasticsearch,Lucene,Stemming,我正在将应用程序从dtSearch移动到elasticsearch,希望在不改变最终用户流程的情况下保持相同的功能。我遇到的主要问题是堵塞。我们允许用户以dtSearch格式指定自己的词干规则: 3+ies -> y 3+ing -> 其中3是前面字符的数量,ies是后缀,y是替换它的内容。是否可以为elasticsearch(lucene引擎)指定一个自定义算法,这样用户就不必更新词干规则以符合新的搜索服务?还是这两种方法相互排斥 对于一个痛苦的、极其肮脏的解决方案,您可以使

我正在将应用程序从dtSearch移动到elasticsearch,希望在不改变最终用户流程的情况下保持相同的功能。我遇到的主要问题是堵塞。我们允许用户以dtSearch格式指定自己的词干规则:

3+ies  -> y
3+ing  ->

其中
3
是前面字符的数量,
ies
是后缀,
y
是替换它的内容。是否可以为elasticsearch(lucene引擎)指定一个自定义算法,这样用户就不必更新词干规则以符合新的搜索服务?还是这两种方法相互排斥

对于一个痛苦的、极其肮脏的解决方案,您可以使用正则表达式


否则,您将不得不创建自己的Elasticsearch分析插件(带有一个令牌过滤器实现,在java中实现您想要的功能)


如果您可以将词干分析规则表示为内存中的DFA,那么它的性能将最佳。有几个java自动机库可以使用。(例如)

对于痛苦、极其肮脏的解决方案,可以使用正则表达式


否则,您将不得不创建自己的Elasticsearch分析插件(带有一个令牌过滤器实现,在java中实现您想要的功能)

如果您可以将词干分析规则表示为内存中的DFA,那么它的性能将最佳。有几个java自动机库可以使用。(例如)