如何根据某个字段上更好的匹配文档来提升solr文档?
例如,我有一个类似Assault M16
的文档。
我有两个字段,每个字段都会对文本进行索引NormalText: assault m16
和NormalTextNoSpaces: assaultm16
。
现在我搜索Assault M 16 Gun
。
结果我会得到一堆文件,包含“攻击”,“m”,“16”,“枪”等字样。
我想提升与NormalTextNoSpaces
字段完全匹配的所有文档,因为它与搜索文本的匹配程度优于其他字段。
这是因为普通文本字段存储文本而“M”和“16”之间没有空格。因此,匹配与NoSpace提交的内容不相关。
我想要的是某种功能,告诉我在一个或另一个领域是否有更好的匹配,以便我可以相应地提升文档。
答案 0 :(得分:0)
如果你正在使用(e)dismax查询解析器,你可以通过qf
参数给出每个字段的权重:q=Assault M 16 Gun&qf=NormalTextNoSpaces^100 NormalText
会在NormalTextNoSpaces
中给出100倍于权重的匹配而不是NormalText
中的匹配。
必须针对每个用例以及您希望如何确定点击的优先级来确定精确的权重。