我有以下Solr查询,我正在寻找等效的Lucene查询语法:
"&fl=*,score,distance:{!func}geodist(latLong,41.188222,-73.19544)
答案 0 :(得分:0)
首先,这不是一个查询。 在Solr中渲染结果时,您将渲染生成的文档,为每个文档计算一个额外的字段(距离)。 这称为函数值为伪字段[1] 计算此字段,从每个结果文档中提取存储的内容,并应用函数查询来计算距离点的距离。
要在Lucene中执行此操作,您需要探索ValueSource [2]的概念。 请记住,快速查看ValueSource的地理距离实际上是Solr方[3]。 所以你可能需要潜在地导入它。
[2] org.apache.lucene.queries.function.valuesource,org.apache.lucene.queries.function.TestValueSources
[3] org.apache.solr.schema.LatLonValueSource