如何在Solr 9.5中用OR条件合并两个独立查询
Solr 9.5 合并嵌套文档查询与普通查询的OR条件实现
你需要将两个查询分别用括号包裹,再通过OR运算符连接,同时保留{!parent}查询的完整语法结构。以下是修改后的完整curl命令:
sudo curl 'http://localhost:8983/solr/gettingstart/select?fl=*,[child]' -d 'omitHeader=true' --data-urlencode 'q=({!parent which="*:* -_nest_path_:*"}(+_nest_path_:/productCategories +name_hh:*necessitatibus*)) OR (brandName_hh:*Preda*)'
关键说明:
- 第一个括号内完整保留原
{!parent}查询逻辑:匹配_nest_path_:/productCategories路径下name_hh包含necessitatibus的子文档,并返回对应的父文档 - 第二个括号内保留原品牌名称查询逻辑:匹配
brandName_hh包含Preda的文档 - 用
OR连接两个查询块,实现满足任一条件的文档都被返回
注意事项:
- 确保
{!parent}的which参数正确,这里*:* -_nest_path_:*是用来定位父文档的筛选条件,符合你的嵌套结构场景 - URL中的双引号需用
"转义,避免curl解析出错
内容的提问来源于stack exchange,提问作者Hjin
相关产品推荐
相关产品推荐

