我在查询具有较大值(例如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是强大的可疑=)
答案 0 :(得分:0)
Yonik在Solr用户邮件列表上回答了这个问题:“我相信这是索引标记的最大大小......”。所以看起来这种行为有点期待。
然而,另一位用户已经打开了关于缺少错误的错误报告,“我将打开一个错误,找出为什么我们在索引时没有为此生成错误,但查询时的行为看起来正确...“