我正在使用Solr 4+。Solr文本字段和字符串字段 - 不同的搜索行爲
我有幾個字段到我solr架構與不同的solr字段類型。
對文本字段和字符串字段的搜索不同嗎?
因爲我想在字符串字段搜索(這是幾個小領域的副本域)預期不工作。目標字符串字段被索引並存儲。
但是,當我更改文本字段(僅索引)的目標字段時,它工作正常。
你能提出爲什麼會發生這種情況嗎?在搜索方面,solr中的文本和字符串字段究竟有什麼區別?
我正在使用Solr 4+。Solr文本字段和字符串字段 - 不同的搜索行爲
我有幾個字段到我solr架構與不同的solr字段類型。
對文本字段和字符串字段的搜索不同嗎?
因爲我想在字符串字段搜索(這是幾個小領域的副本域)預期不工作。目標字符串字段被索引並存儲。
但是,當我更改文本字段(僅索引)的目標字段時,它工作正常。
你能提出爲什麼會發生這種情況嗎?在搜索方面,solr中的文本和字符串字段究竟有什麼區別?
TextFields
通常會附加一個標記器和文本分析,這意味着將索引內容分解爲不需要精確匹配的單獨標記 - 每個詞/標記可以單獨匹配以確定整個文檔是否應該是包括在回覆中。
StrFields
不能有任何標記化或分析/應用的過濾器,並只給出精確匹配的結果。如果您需要應用分析或過濾器的StrField,則可以使用TextField
和KeywordTokenizer
來實現此功能。
具有合理的通用跨語言默認值的常規文本字段:它使用StandardTokenizer進行標記,從不區分大小寫的「stopwords.txt」(缺省爲空)以及向下情況中刪除停用詞。僅在查詢時間,它也適用同義詞。
不分析StrField類型,但逐字索引/存儲。