2016-09-14 83 views
1

我正在將應用程序從dtSearch移動到elasticsearch,並希望在不更改最終用戶過程的情況下保留相同的功能。我遇到的主要問題是干擾。我們允許用戶在dtSearch格式指定自己所產生的規則:Elasticsearch自定義填充算法

3+ies -> y 
3+ing -> 

3是前面的字符數,該ies是後綴和y是做什麼用替換它。是否有可能爲elasticsearch指定一個自定義算法(以及... lucene引擎),以便用戶不必更新其詞幹規則以符合新的搜索服務?或者這兩種方法是相互排斥的?

回答

0

對於一個非常骯髒的解決方案,您可以使用正則表達式。

https://www.elastic.co/guide/en/elasticsearch/reference/2.4/analysis-pattern_replace-tokenfilter.html


否則,你就必須創建自己的Elasticsearch分析插件(與令牌過濾器實現,你想要做什麼,在Java)。

https://www.elastic.co/guide/en/elasticsearch/plugins/2.4/plugin-authors.html

它會執行最好的,如果你可以表達你所產生的規則爲DFA在內存中。有幾個Java自動機庫可以使用。 (例如http://www.brics.dk/automaton/faq.html