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