规则查询
编辑规则查询
编辑rule_query
在 8.15.0 中已重命名为 rule
。使用 rule_query
和 ruleset_id
的旧语法已弃用,将在未来版本中删除,因此强烈建议将现有的规则查询迁移到新的 API 结构。
在返回结果之前,将 查询规则 应用于查询。查询规则可用于根据匹配的定义规则以 固定查询 的方式提升文档,或识别要从上下文结果集中排除的特定文档。如果未定义任何匹配的查询规则,则返回查询的“自然”匹配。所有匹配规则都按其在查询规则集中出现的顺序应用。如果同一文档同时匹配 exclude
规则和 pinned
规则,则该文档将被排除。
要使用规则查询,您首先需要一组已定义的查询规则。使用 查询规则管理 API 创建和管理查询规则。有关更多信息和示例,请参阅 使用查询规则搜索。
示例请求
编辑resp = client.search( query={ "rule": { "match_criteria": { "user_query": "pugs" }, "ruleset_ids": [ "my-ruleset" ], "organic": { "match": { "description": "puggles" } } } }, ) print(resp)
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" } } } } }