针对Trieboolbield的Solr range查询的行为是否意外为负值?

针对Trieboolbield的Solr range查询的行为是否意外为负值?,solr,search-engine,range,Solr,Search Engine,Range,我搜索了所有的溢出/交换网站,在谷歌上钻研了几个小时都没有用,所以我希望有人是Solr天才,能告诉我哪里出了问题 我们正处于以前的搜索服务器和Solr之间的转换中,这要求我们暂时将地理数据存储在单独的纬度和经度字段中。我已经使用了许多来源推荐的solr.triedublefield定义了字段 <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIn

我搜索了所有的溢出/交换网站,在谷歌上钻研了几个小时都没有用,所以我希望有人是Solr天才,能告诉我哪里出了问题

我们正处于以前的搜索服务器和Solr之间的转换中,这要求我们暂时将地理数据存储在单独的纬度和经度字段中。我已经使用了许多来源推荐的
solr.triedublefield
定义了字段

<fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
<field name="latitude_1" type="tdouble" indexed="true" stored="false" multiValued="false" required="false" />
<field name="longitude_1" type="tdouble" indexed="true" stored="false" multiValued="false" required="false" />
这不会返回任何结果。但是,如果我用正数进行查询,如下所示:

longitude_1:[94 TO 95]
我得到了这些结果(为了简洁起见,我使用了
fl=longitude_1
):


-94.60046
-94.03403
-94.03403

我注意到这些值显示在
标记中,但我假设这是内部
TriedubleField
的字符串输出表示形式。如果不是这样,可能是我的模式或Solr配置中有其他错误。

减号可能被解释为查询运算符(意味着该子句被禁止)。你应该(用反斜杠)试试看

longitude_1:[94 TO 95]
<doc>
  <str name="longitude_1">-94.60046</str>
</doc>
<doc>
  <str name="longitude_1">-94.03403</str>
</doc>
<doc>
  <str name="longitude_1">-94.03403</str>
</doc>