![](/img/trans.png)
[英]How to create a parent-child inner hit query with elasticsearchDSL Builder
[英]ElasticsearchDSL builder how to create SHOULD NOT query
使用php dsl構建器,我試圖創建“不SHOULD NOT
查詢。 使用JSON查詢語法可以嵌套MUST_NOT
內SHOULD
BOOL要創建一個。
例
{"bool": {"should": { "bool": {"must_not": {"match": {"thing": "thingy"}}}}}}
自從ongr文檔閱讀以來,尚不清楚自5.0更新版本以來如何實現相同的結果。 我嘗試了以下方法:
$search = new Search();
$query = new MatchQuery('thing', 'thingy');
$search->addQuery($query, BoolQuery::MUST_NOT);
$search->addPostFilter(BoolQuery::SHOULD);
但這不起作用。
為了嵌套布爾查詢,您需要使用布爾查詢:)您提供的示例可以通過以下代碼片段實現:
$search = new Search();
$outerBoolQuery = new BoolQuery();
$innerBoolQuery = new BoolQuery();
$innerBoolQuery->add(new MatchQuery('thing', 'thingy'), BoolQuery::MUST_NOT);
$outerBoolQuery->add($innerBoolQuery, BoolQuery::SHOULD);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.