String 在solr4.4中,查询具有大值的StrFields不会返回任何文档

String 在solr4.4中,查询具有大值的StrFields不会返回任何文档,string,solr,solrj,solr4,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" /> 请注意,它是存储的,以备不时

我在查询具有较大值(例如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\u 1::
。如果
someFieldName_1
具有长度<32767个字符的值,那么它可以正常工作,并且我可以返回在该字段中具有值的各种文档

但是,如果我查询
someFieldName_2:
并且
someFieldName_2
的值的长度>=32767,我不会返回任何文档。尽管我知道许多文档在
someFieldName_2
中都有值

我知道这一点,因为我查询
*:*
并在
someFieldName_2
中看到具有(大)值的文档


那么,StrField中的字符串长度是否存在某种类型的限制,我可以对其进行查询?32767=2^15非常可疑=)

Yonik在Solr用户邮件列表中回答了这个问题,“我相信这是索引令牌的最大大小……”。因此,这种行为似乎是意料之中的


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

您的solrconfig.xml中是否配置了LimitTokenCountFilterFactory。恐怕这是一个bug或“隐藏”特性,我记得看到过关于本机字符串类型限制的bug报告,但“todo”列表中没有。有什么理由不使用solr.TextField吗?