首页 > 解决方案 > Solr 查询字段回退

问题描述

我在 Solr 中索引了以下字段:

我想搜索 FIELD_3=X 但如果 FIELD_3 为空(或文档中不存在)的文档,则在 FIELD_2 中搜索,然后在 FIELD_1 中搜索

在 Solr 中可以进行这种查询吗?

谢谢

标签: solrlucenesolr4solr-query-syntax

解决方案


假设您只想在前面的字段为时搜索 FIELD2 和 FIELD1 (而不是如果它们有值,但它没有产生命中),类似于:

q=FIELD3:foo OR (FIELD2:foo AND NOT FIELD3:[* TO *]) OR (FIELD1:foo AND NOT FIELD2:[* TO *] AND NOT FIELD3:[* TO *])

应该管用。


推荐阅读