ルールクエリ
rule_query
は 8.15.0 で rule
に名前が変更されました。rule_query
と ruleset_id
を使用した古い構文は非推奨となり、将来のリリースで削除される予定ですので、既存のルールクエリを新しい API 構造に移行することを強くお勧めします。
結果を返す前に、クエリルール をクエリに適用します。この機能は、定義されたルールに基づいて ピン留めされたクエリ の方法でドキュメントを促進するために使用されます。マッチするクエリルールが定義されていない場合、クエリに対する「オーガニック」マッチが返されます。すべてのマッチするルールは、クエリルールセットに表示される順序で適用されます。
ルールクエリを使用するには、まず定義されたクエリルールのセットが必要です。クエリルール管理 API を使用してクエリルールを作成および管理します。詳細情報と例については、クエリルールを使用した検索を参照してください。
例のリクエスト
Python
resp = client.search(
query={
"rule": {
"match_criteria": {
"user_query": "pugs"
},
"ruleset_ids": [
"my-ruleset"
],
"organic": {
"match": {
"description": "puggles"
}
}
}
},
)
print(resp)
Js
const response = await client.search({
query: {
rule: {
match_criteria: {
user_query: "pugs",
},
ruleset_ids: ["my-ruleset"],
organic: {
match: {
description: "puggles",
},
},
},
},
});
console.log(response);
コンソール
GET /_search
{
"query": {
"rule": {
"match_criteria": {
"user_query": "pugs"
},
"ruleset_ids": ["my-ruleset"],
"organic": {
"match": {
"description": "puggles"
}
}
}
}
}
ルールクエリのトップレベルパラメータ
ruleset_ids
- (必須、配列)クエリベースのルールに一致し、適用するための 1 つ以上のユニークな クエリルールセット ID の配列。ルールセットとその関連ルールは、クエリおよびルールセットに指定された順序で評価されます。指定できるルールセットの最大数は 10 です。
match_criteria
- (必須、オブジェクト)指定されたクエリルールセット内のルールに適用するマッチ基準を定義します。マッチ基準は、ルールの
criteria.metadata
フィールドに定義されたキーと一致する必要があります。 organic
- (必須、オブジェクト)結果を返すために使用される任意の クエリ で、マッチするクエリルールによって変更される可能性があります。クエリルールがマッチして適用されない場合、このクエリは変更なしで実行されます。