我正在尝试决定是否应该使用text_en或string作为我的字段类型。该字段是firstname,必须被索引并存储以供显示。我通过读取solr index中的数据来显示网页上的内容。
text_en只有一个索引分析器,可以对firstname列的内容进行标记。存储数据时没有转换。 另一方面,字符串字段在存储或索引数据时不进行任何转换。
Solr应该在有人搜索John或john时返回结果。
有人可以评论为什么使用另一个可能是有益的。 感谢
答案 0 :(得分:0)
正如@shitsu评论的那样 - 你真的没有选择。您希望能够小写内容,并仍然显示原始表单 - 因此TextField是最佳选择。如果你想分割标记(这样只需输入“Paul”或“john”即可搜索“Paul John”,text_en
就可以这样做。你可以通过定义你自己的字段类型来调整它一个适合您需求的Tokenizer。
如果您只想提供准确的匹配,但无论如何,KeywordTokenizer
LowercaseFilter
可能是您正在寻找的。这将使所有文本小写,但仍将其作为单个标记索引(因此必须完全匹配)。