我记得在以前的SOLR版本(4.x)中,我能够运行以下查询:
"(lastName:HILL)"带有字段
"*,score, strDistLastName:$lnamestrdist"与原始查询参数一起使用
"lnamestrdist=strdist('HILL',lastName,jw)"这将得到一个附加字段的结果,这是在值和返回字段之间使用Jaro Winkler算法的strdist函数的结果。
由于某种原因,在SOLR版本5.1中,即使字符串与1对1匹配,它也总是返回0 (即strdist应为1)。
我在没有使用变量的情况下对其进行了检查,即仅将字段指定为
"*,score, strdist('HILL',lastName,jw)"但它也返回0。
只有当我使用另一个类似下面的字符串文字时,它才会返回1:
"*,score, strdist('HILL','HILL',jw)"我认为这意味着strdist不再识别字段。有人知道为什么吗?也许语法已经改变了,或者它只是一个bug?
非常感谢您的提前!
发布于 2016-06-02 02:22:36
我的错误是,我在索引/查询分析器中为"lastNameExact“字段设置了”strdist“过滤器,因此”hill“和”hill“的strdist值为0。在我将字段列表更正为"*,score,strdist('hill',lastName,jw)“之后,strdist变成了1。
很抱歉造成您的混淆:)
https://stackoverflow.com/questions/37552533
复制相似问题