solr - Solr 查询字段回退
问题描述
我在 Solr 中索引了以下字段:
- FIELD_1
- FIELD_2
- FIELD_3
我想搜索 FIELD_3=X 但如果 FIELD_3 为空(或文档中不存在)的文档,则在 FIELD_2 中搜索,然后在 FIELD_1 中搜索
在 Solr 中可以进行这种查询吗?
谢谢
解决方案
假设您只想在前面的字段为空时搜索 FIELD2 和 FIELD1 (而不是如果它们有值,但它没有产生命中),类似于:
q=FIELD3:foo OR (FIELD2:foo AND NOT FIELD3:[* TO *]) OR (FIELD1:foo AND NOT FIELD2:[* TO *] AND NOT FIELD3:[* TO *])
应该管用。
推荐阅读
- php - 将 posts_per_page 更改为 WooCommerce AJAX 实时搜索的 MySQL 查询
- ios - 从用户输入的 URL 下载内容的大小限制
- c++ - 朋友功能错误:“B”尚未声明
- php - Laravel 字符串数据,右截断:1406 Data too long for column
- jquery - 在我当前的日期选择器代码中禁用特定日期的最快方法?
- c++ - c++类成员函数指针在类中不能正常工作
- node.js - 如何将变量分配给节点js中的sqlite查询的输出
- python - 如何编写python代码批量将json转换为html?
- php - 如何将字符串拆分为字母和数字组件?
- c# - C#不要在包含相同文本的列表中添加重复项