2017-02-17 133 views
0

Analysis with Index [![][1]問題與Solr的索引,索引的Solr鏈不完整

在我的Solr,我得到索引運行分析之後這個結果。我有一些包含單詞機器學習的文檔,但似乎有些東西壞了,並且索引鏈沒有完成。我可以爲此找到解決辦法嗎?

字段類型爲所搜索的值爲:<field name="Skills" type="text_general" indexed="true" stored="true"/>

EDIT 1:

分析查詢: Analysis with Query

回答

0

我猜測的 「SF」 是一種詞幹過濾器 - 過濾器將刪除常見的結尾以允許「機器」匹配「機器」,將「機器」存儲爲索引中的通用術語。只要在索引和查詢時執行了詞幹分析,就應該得到您要查找的結果。

EdgeNGramFilter爲令牌中的每個額外字母存儲一個令牌,因此您爲每個附加字母(您的過濾器似乎配置爲3作爲最小ngram大小)獲得一個令牌(它將匹配查詢令牌) 。

如果在搜索時也沒有執行詞幹分析,查詢machine將找不到任何匹配條件,因爲索引後的標記已被存儲爲machin

使用分析頁面上的「查詢」和「索引」部分來查看每個部分是如何解析和處理的,並瞭解他們爲什麼不以兩邊相同的術語結束(結束令牌在雙方進行比較,如果它們是相同的,則會出現一個匹配 - 這在接口IIRC中顯示爲稍暗的背景)。

+0

我也添加了查詢部分。這裏的SF有完整的單詞。 – Kabhi

+0

但是那些SFs幹濾器都是? synonymfilters?如果您將鼠標懸停在「SF」文本上,您可以看到完整的課程名稱。您可能還希望將小寫過濾器放在與之前相同的位置。添加字段定義也是有用的,但正如你所看到的 - 當查詢令牌是'機器'時,'機器'是由索引產生的令牌。由於這些不匹配,你不會受到打擊。 – MatsLindh

0

我不確定您的第一張圖片代表什麼,但是您的兩張圖片顯示了不同的令牌過濾器順序。

作爲Stem過濾器的一個附註,kstem令牌過濾器是英語的高性能過濾器。所有術語必須已經小寫(使用小寫的過濾器)才能使此過濾器正常工作。

您的第一張圖片顯示您將LCF(LowercaseFilter)作爲第一個標記過濾器。但你的第二個圖像顯示你有第一個篩選器運行,然後做LCF(LowercaseFilter),它不會工作