Solr - 在过滤器 (fq) 中使用原始查询参数函数的结果
Solr - Using the Result of a Raw Query Param Function in a Filter (fq)
我正在尝试使用函数的结果,例如距离度量。
我有一个原始查询参数
distance=query({!func v='mul(geodist(store_location,45.98,-110.65),1.60934)'})
我知道我可以将它用作字段,方法是将它放在查询字符串中作为
fl=*,distance:$distance
是否有等效于在 fq 参数中使用它的方法?像
一样使用它
fq=$distance:[0 TO 100]
# or
fq=distance:[0 TO 100]
好像不行。是否有另一种语法来访问文档的这个自定义值并对其进行过滤?总体目标是过滤掉超过一定里程范围的结果。然后我应该能够得到结果中所有文档的计数。
您可以使用 geofilt 查询解析器执行此操作,并在 fl
中获取计算的 geodist()
:
q=*:*&fq={!geofilt}&sfield=store_location&pt=45.98,-110.65&d=160.934&fl=*,geodist()
我正在尝试使用函数的结果,例如距离度量。
我有一个原始查询参数
distance=query({!func v='mul(geodist(store_location,45.98,-110.65),1.60934)'})
我知道我可以将它用作字段,方法是将它放在查询字符串中作为
fl=*,distance:$distance
是否有等效于在 fq 参数中使用它的方法?像
一样使用它fq=$distance:[0 TO 100]
# or
fq=distance:[0 TO 100]
好像不行。是否有另一种语法来访问文档的这个自定义值并对其进行过滤?总体目标是过滤掉超过一定里程范围的结果。然后我应该能够得到结果中所有文档的计数。
您可以使用 geofilt 查询解析器执行此操作,并在 fl
中获取计算的 geodist()
:
q=*:*&fq={!geofilt}&sfield=store_location&pt=45.98,-110.65&d=160.934&fl=*,geodist()