将 Solr 查询空间搜索语法转换为 Lucene



我有以下Solr查询,我正在寻找等效的Lucene查询语法:

"&fl=*,score,distance:{!func}geodist(latLong,41.188222,-73.19544) 

首先,这不是查询。在Solr中渲染结果时,您正在渲染生成的文档,为每个文档计算一个额外的字段(距离)。这被称为伪字段的函数值[1]计算此字段,从每个生成的文档中获取存储的内容,并应用函数查询来计算与点的距离。

要在Lucene中做到这一点,你需要探索ValueSource的概念[2]。请记住,从快速查看来看,地理距离的价值来源实际上是Solr方面[3]。因此,您可能需要潜在地导入它。

[1] https://lucene.apache.org/solr/guide/6_6/common-query-parameters.html#CommonQueryParameters-FunctionValues

[2] org.apache.lucene.queries.function.valuesource, org.apache.lucene.queries.function.TestValueSources

[3] org.apache.solr.schema.LatLonValueSource

最新更新