SOLR自定义位置相似性

时间:2016-09-13 16:40:25

标签: solr

我想在SOLR中存储一些带地址的项目(城市,州,......),我想改变计算相似度的方式。问题是,当比较例如城市时我只感兴趣它们是否相同而不是那些字符串相似。有办法怎么做?它是通过自定义相似性吗? 如果是这样,有人可以指点我在Solr 6.2中如何做到这一点? 非常感谢你。

1 个答案:

答案 0 :(得分:0)

如果您只对某些内容完全匹配感兴趣,请使用StrField(StrField区分大小写,因此案例也必须匹配)。由于您只获得完全匹配,因此所有文档的得分都相同。

您需要实现自定义相似性类的唯一时间是,您希望以与内置相似性(或函数查询)允许的方式不同的方式对文档进行评分。

完全匹配是一个常规查询:city:Frankfurt。只要该字段是StrField,就只返回该字段中具有Frankfurt字符的文档(除非您为其中一个添加了索引时间提升,否则它们的所有内容都相同)。

此外,如果您按字段(例如城市)进行排序,则会丢弃任何分数计算。