2012-02-23 85 views
3

我有一個問題,我有一套工作人員記錄索引。 全文索引基於個人的姓名和職位。索爾索引,搜索詞幹

我可以搜索一個沒有問題的名字,比如「john」,並且名稱的一部分就像「anthon」並且可以工作。

但是,有些名稱不會正確搜索,例如「anthony」返回沒有結果,但「anth」返回所有的anthony。就像明智地尋找「carly」一樣,沒有任何回報,而是「汽車」。

+0

請在這裏發佈您的schema.xml – nikhil500 2012-02-23 02:45:10

+0

名稱沒有標明莖,爲什麼不只是禁用呢? – 2012-02-23 04:16:45

回答

2

正如Maurico所評論的,Stemming不推薦用於人名。
詞幹會導致許多人意想不到的結果。

此外,檢查您的schema.xml並應用字段分析會很有趣。

如果您在索引和查詢時使用不同的分析,則會發生此問題。

http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#Analyzers

分析儀是組件前處理輸入文本在索引時間 和/或在搜索時間。使用相同或相似的 分析儀很重要,該分析儀在索引和查詢 時間以兼容的方式處理文本。例如,如果索引分析器將詞彙降低,則查詢分析器應該執行相同的操作來啓用索引詞語的查找。

從你提到的例子來看,你似乎在索引時在字段上有Stemmer,但是在查詢時分析似乎並不存在。

+0

謝謝,stemmer是在索引時間而不是查詢時間固定它 – eli 2012-03-02 02:19:29