Apache Solr 字符串字段还是文本字段?
在 apache Solr 中,如果两者都能解决目的,为什么我们总是需要更喜欢字符串字段而不是文本字段?
字符串或文本如何影响索引大小、索引读取、索引创建等参数?
In apache Solr why do we always need to prefer string field over text field if both solves purposes?
How string or text affects the parameters like index size, index read, index creation?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
solr 模式中默认定义的字段有很大不同。
String
将单词/句子存储为精确字符串,而不执行标记化等。通常用于存储精确匹配,例如用于分面。Text
通常执行标记化和二次处理(例如小写等)。当我们想要匹配句子的一部分时,对于所有场景都很有用。如果以下示例“这是一个例句” 被索引到这两个字段,我们必须精确搜索文本
这是一个例句
才能从string
字段,而搜索sample
(甚至启用了词干提取的samples
)就足以从文本中获取命中
字段。The fields as default defined in the solr schema are vastly different.
String
stores a word/sentence as an exact string without performing tokenization etc. Commonly useful for storing exact matches, e.g, for facetting.Text
typically performs tokenization, and secondary processing (such as lower-casing etc.). Useful for all scenarios when we want to match part of a sentence.If the following sample,
"This is a sample sentence"
, is indexed to both fields we must search for exactly the textThis is a sample sentence
to get a hit from thestring
field, while it may suffice to search forsample
(or evensamples
with stemmning enabled) to get a hit from thetext
field.添加 Johans Sjöbergs 的好答案:
您可以对
String
进行排序,但不能对Text
进行排序。Adding to Johans Sjöbergs good answer:
You can sort a
String
but not aText
.