Apache Solr字符串字段或文本字段?

Rah*_*hul 50 solr

在apache Solr中,为什么我们总是需要在文本字段上更喜欢字符串字段?

字符串或文本如何影响索引大小,索引读取,索引创建等参数?

Joh*_*erg 103

solr模式中定义的默认字段非常不同.

String 将单词/句子存储为精确的字符串而不执行标记化等.通常用于存储精确匹配,例如,用于刻面.

Text通常执行标记化和二次处理(例如下壳等).当我们想要匹配句子的一部分时,适用于所有场景.

如果以下示例"This is a sample sentence"被索引到两个字段,我们必须准确搜索文本This is a sample sentence以从string字段中获取命中,同时搜索sample(或甚samples至启用了stemmning)以从该text字段获得命中可能就足够了.

  • 在标记化时,您将获得更大的索引大小,多大程度取决于您的处理链.由于工作量较大,索引创建速度也会略微降低.索引读取/创建将是很好的方式,所以除非接近数百万个文档,否则不要担心它. (3认同)
  • 我正在阅读数以百万计的文件......希望这不是问题.所以我要去字符串字段,因为它似乎在所有情况下都很有效并且我不需要标记器/全文搜索 (2认同)
  • @JohanSjöberg 我理解字符串和文本之间的区别,正如你所解释的那样,但是如果我需要获得“*tence”的点击该怎么办。如果字段类型选择正确怎么办? (2认同)