Solr Query是否可以通过功能值比较来实现?

时间:2012-01-03 10:50:55

标签: solr indexing

我在solr工作3-4个月。我想知道是否可以在solr上查询以下要求      返回所有文件,
    fieldName1 = queryTerm1&
    strdist(queryTerm2,fieldName2,JW)> 5(或某些常数)

如果可能,那么查询是什么?

2 个答案:

答案 0 :(得分:1)

我想你可以接近。


对字符串距离对结果进行排序(拆分更容易):

localhost:8983/solr/select/?fl=id
&q=fieldName1:queryTerm1
&sort=strdist("queryTerm2",fieldName2, JW)  desc

将按顺序排序结果,最高字符串距离。

请注意,您无法直接获取字符串距离。有一个伪字段得分,由:

检索
fl=id,score

但绝对意义上没有任何意义。


您还可以根据字符串距离提升结果,而不是简单地对它们进行排序。在这种情况下,它将查看文档的相关性以及字符串距离。


一旦你有一个排序列表(希望它不是太大!),你可以确定客户端具有'字符串距离< 5' 。


我是从下面的链接中做到的。

http://yonik.wordpress.com/2011/03/10/solr-relevancy-function-queries/

http://wiki.apache.org/solr/FunctionQuery#strdist

答案 1 :(得分:0)

据我所知,

不可能