2016-01-23 23 views
0

我想決定是否應該使用text_en或字符串作爲我的字段類型。該字段是名字,並且必須被索引並存儲以供顯示。我通過讀取solr索引中的數據在網頁上顯示內容。Solr:Text_en vs字符串顯示和索引字段

text_en只有一個索引分析器,它會標記firstname列的內容。存儲數據時不存在轉換。 另一方面,字符串字段在存儲或索引數據時不會進行任何轉換。

當某人搜索John或john時,Solr應返回結果。

有人可以評論爲什麼使用一個在另一個可能是有益的。 謝謝

+0

在你的情況下,我會去與'LowerCaseTokenizer'(索引和查詢時間)的自定義類型'TextField'。 – Derlin

回答

0

由於@shitsu評論 - 你真的沒有選擇。您希望能夠小寫內容,並且仍然顯示原始表單 - 所以TextField是一種可行的方式。如果您想分割令牌(因此可以通過輸入「Paul」或「john」來搜索「Paul John」,那麼text_en就可以做到這一點。您可以通過使用Tokenizer自定義字段類型

如果你只是想給出確切的命中,但無論如何,有一個KeywordTokenizerLowercaseFilter可能是你在找什麼,這將小寫所有的文本,但仍然作爲一個單一的索引令牌(所以它必須完全匹配)。