如果我们有很多indexed=true和stored=false的字段,solr集合的大小会增加吗



我必须创建许多多字段,这些字段将是indexed="true",而不是stored="false"

例如:

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

我有很多像上面这样的多字段,我知道它不会将它们存储在集合中,但它会根据我给出的类型(ngram、edge ngram和其他(创建不同的令牌。

那么创建代币会增加集合的大小吗?

是的,当您用indexed=true定义字段时,它将占用空间,索引大小将增加。

字段的indexed=true越多,占用的空间就越多。

应用于字段的字段类型中还有一个点。

如果应用的是非标记化字段类型,那么索引大小就不像字符串字段类型。

但是,如果您正在应用像ngram这样的标记化字段类型,那么它将创建太多的标记,因此索引大小将更大。

例如,让我们为您的领域考虑以下内容。

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

输入文本:";自行车;

创建的令牌:";bicy"bicyc"icyc"icycl"循环"循环"cycle";

在这里,您可以看到单个单词创建了7个标记。它可以根据要求和应用的最小和最大克大小而变化。

这是有助于增加索引大小的另一个原因。

在为你的领域选择领域类型时,你必须非常熟练。

简短回答:是的,大小会增加。

添加一个字段(即使未存储(意味着该字段将有一个新的索引,并且对于每个索引值,文档列表都将匹配(这是Solr存储数据方式的简化(。

它将代表多大的增长取决于你的很多数据。这可能很重要,也可能不重要。。

最新更新