查询具有较大值的StrFields不会在Solr 4.4中返回任何文档

时间:2014-02-05 18:24:36

标签: string solr solrj solr4

我在查询具有较大值(例如70k字符)的StrField时遇到问题。我正在使用Solr 4.4并且拥有字符串类型的文档:

<fieldType name="string" class="solr.StrField" sortMissingLast="true"/>

和字段:

<dynamicField name="someFieldName_*" type="string" indexed="true" stored="true" />

请注意,如果重要,请将其存储。

在我的文档中,此StrField中值的长度最多可达~70k字符或更多。

我正在尝试的查询是someFieldName_1:*。如果someFieldName_1的值为长度&lt; 32,767个字符,然后它工作正常,我在该字段中返回带有值的各种文档。

但是,如果我查询someFieldName_2:*并且someFieldName_2的值为长度&gt; = 32,767,我就不会收到任何文件。即使我知道许多文档的值都在someFieldName_2

我知道这一点,因为我查询*:*并查看someFieldName_2中包含(大)值的文档。

对于我可以查询的StrField中的字符串长度是否存在某种类型的限制? 32,767 = 2 ^ 15是强大的可疑=)

1 个答案:

答案 0 :(得分:0)

Yonik在Solr用户邮件列表上回答了这个问题:“我相信这是索引标记的最大大小......”。所以看起来这种行为有点期待。

然而,另一位用户已经打开了关于缺少错误的错误报告,“我将打开一个错误,找出为什么我们在索引时没有为此生成错误,但查询时的行为看起来正确...“