2016-04-29 77 views
1

我有一個產品代碼有特殊字符例如:abc-3%-100索引產品代碼包含特殊字符(%)時Solr搜索結果錯誤

我已經編入索引,並與 .The Solr的查詢被寫入搜索像100 * .The搜索給出正確的結果搜索(「沒有產品發現與搜索100」假設我只有這個產品)當我從產品代碼中刪除「%」

我不明白爲什麼solr將產品返回給搜索文本100當產品中含有%的代碼時?

回答

0

我爲此得到了一個解決方案。我已經改變從StandardTokenizerFactory的標記者值到KeywordTokenizerFactory爲Solr的類型

1

如果您正在尋找精確匹配,那麼你可以去你的字段中的字符串字段類型,其使用的搜索。

如果您使用標記器。它將根據它們的寫法創建標記。

由於您正在使用關鍵字標記符,它不會創建任何相同的標記。

效益使用上述標記生成器是......你也可以使用一些其它過濾器一樣禁用詞和小寫等等

停用詞過濾器將幫助您刪除之類的話語......是的,是等等..這是非常普遍的,並沒有任何意義的索引...

小寫過濾器轉換爲小寫的文本,同時索引和搜索。

停用字過濾器在當前情況下不適用。