2016-11-04 23 views
0

這裏是想我的詞幹做: 破:破 朗聲道:打破 破:破 進入:進入 進入:進入 輸入:輸入是否有elasticsearch一個詞幹,可以改變「破」到「破」

我索引的字段,如下所示: 「體」:{ 「類型」: 「文本」, 「田」:{ 「朵朵」:{ 「類型」: 「text」, 「analyzer」:「english」 } } }

當我查詢「打破並進入」,我可以看到什麼搜索在body.stemmed字段是:「break and enter」。看起來不錯。 但是,當我查詢「破解並進入」時,我得到:「破壞並進入」。因此,顯然,當使用「英語」詞幹分析器時,「爆發」不會成爲「突破」。 同樣,「破碎進入」變成:「破碎進入」。所以,ES顯然不會改變「破」或「破」到「破」(根據這個:snowball,我想解釋爲什麼如果這是使用的)。

那麼,有沒有一種方法可以指定一個「已知」的詞幹分析器來完成我想要做的事情?

回答

1

您的需求可以通過Dictionary Stemmer來完成,該詞典爲詞幹查找詞典。算法的詞幹分析者在沒有關於詞根的知識的情況下幹,他們只是在算法上做它。 看看Hunspell的詞幹,認爲它會完成這項工作: https://www.elastic.co/guide/en/elasticsearch/guide/current/hunspell.html

+0

我遵循了Hunspell的說明,它似乎沒有做這項工作。當我搜索「破產和進入」時,我得到(在「解釋」輸出中):「描述」:「45(重量)(doc.body.stemmed:\」破譯並且(進入確認)\「)[PerFieldSimilarity] ,結果是:「 –

+0

hunspell stemmer的最佳部分是,你可以添加你自己的規則。 https://www.elastic.co/guide/en/elasticsearch/guide/current/hunspell.html#hunspell-dictionary-format –

+1

我可以通過將條目添加到* .dic文件中來完成此操作,例如:破解ST:休息。感謝您將我指向hunspell。 –