如果有很多字段的index=true和stored=false,solr集合大小是否会增加

1l5u6lss  于 2021-10-10  发布在  Java
关注(0)|答案(2)|浏览(279)

我必须创建很多多字段,这将是 indexed="true" 但是 stored="false" .
前任:

<field name="_text_edge_ngram" type="text_edge_ngram" indexed="true" stored="false" multiValued="true" />

我有很多类似上面的多字段,我知道它不会将它们存储在集合中,但它会根据我给出的类型(ngram、edge ngram和其他)创建不同的令牌。
那么,创建令牌将增加集合的大小?

blmhpbnm

blmhpbnm1#

是,当您使用定义字段时 indexed=true ,则它将占用空间,索引大小将增加。
田地越长 indexed=true ,占用更多空间。
应用于该字段的字段类型中还有一个点。
如果应用非标记化字段类型,则索引大小与字符串字段类型不太相似。
但是如果您正在应用标记化字段类型,如 ngram 然后它将创建太多的令牌,因此索引大小将更大。
例如,让我们考虑下面的领域。

<analyzer>
  <tokenizer class="solr.NGramTokenizerFactory" minGramSize="4" maxGramSize="5"/>
</analyzer>

输入文本:“自行车”
创建的代币:“bicy”、“bicyc”、“icyc”、“ICYL”、“CYL”、“cycle”、“cycle”、“cycle”
在这里,您可以看到一个单词创建了7个标记。它可以根据需求和应用的最小和最大克尺寸而变化。
这是有助于增加索引大小的另一个原因。
你必须非常熟练地为你的领域选择领域类型。

ego6inou

ego6inou2#

简短回答:是的,尺寸会增加。
添加一个字段(即使未存储)意味着该字段将有一个新索引,每个索引值将有一个匹配的文档列表(这是solr存储数据方式的简化)。
它所代表的增长幅度取决于您的大量数据。它可能是重要的,也可能不是。。

相关问题