我正在使用Solr 4+。Solr文本字段和字符串字段 - 不同的搜索行为
我有几个字段到我solr架构与不同的solr字段类型。
对文本字段和字符串字段的搜索不同吗?
因为我想在字符串字段搜索(这是几个小领域的副本域)预期不工作。目标字符串字段被索引并存储。
但是,当我更改文本字段(仅索引)的目标字段时,它工作正常。
你能提出为什么会发生这种情况吗?在搜索方面,solr中的文本和字符串字段究竟有什么区别?
我正在使用Solr 4+。Solr文本字段和字符串字段 - 不同的搜索行为
我有几个字段到我solr架构与不同的solr字段类型。
对文本字段和字符串字段的搜索不同吗?
因为我想在字符串字段搜索(这是几个小领域的副本域)预期不工作。目标字符串字段被索引并存储。
但是,当我更改文本字段(仅索引)的目标字段时,它工作正常。
你能提出为什么会发生这种情况吗?在搜索方面,solr中的文本和字符串字段究竟有什么区别?
TextFields
通常会附加一个标记器和文本分析,这意味着将索引内容分解为不需要精确匹配的单独标记 - 每个词/标记可以单独匹配以确定整个文档是否应该是包括在回复中。
StrFields
不能有任何标记化或分析/应用的过滤器,并只给出精确匹配的结果。如果您需要应用分析或过滤器的StrField,则可以使用TextField
和KeywordTokenizer
来实现此功能。
具有合理的通用跨语言默认值的常规文本字段:它使用StandardTokenizer进行标记,从不区分大小写的“stopwords.txt”(缺省为空)以及向下情况中删除停用词。仅在查询时间,它也适用同义词。
不分析StrField类型,但逐字索引/存储。