如果第一个查询没有返回任何结果,是否可以在OR
语句中使用给定查询之一?
给出以下Solr查询:name:Mi OR name:Mi*
如果左侧查询未返回任何文档,请尝试OR
语句的右侧。
我已经尝试过qf
而没有取得好成绩。
答案 0 :(得分:0)
您对OR
运算符的期望是条件行为。 Solr中定义的运算符(OR
和AND
)分别用于执行结果的 union 和交集。您无法实现条件行为。
答案 1 :(得分:0)
Solr(Lucene实际上)在MUST,SHOULD和MUST NOT子句中起作用。所以,你所要求的并不是直接存在的。
但是,您可以通过排名适当地执行类似的操作。因此,您将获得原始值字段并将其提高,然后将您的值复制到 - 比如 - edgengram字段中以进行后缀匹配并将其提升得更少。完美匹配的任何结果都将浮动到顶部。