规则查询
编辑规则查询
编辑rule_query
在 8.15.0 中被重命名为 rule
。 使用 rule_query
和 ruleset_id
的旧语法已被弃用,并将在未来的版本中删除,因此强烈建议将现有的规则查询迁移到新的 API 结构。
规则查询不支持与重新排序一起使用。 如果想将查询规则与重新排序结合使用,请改用规则检索器。
在返回结果之前,将查询规则应用于查询。 查询规则可用于以置顶查询的方式基于匹配定义的规则来提升文档,或识别要从上下文结果集中排除的特定文档。 如果未定义匹配的查询规则,则返回查询的“自然”匹配结果。 所有匹配的规则都按照它们在查询规则集中出现的顺序应用。 如果同一个文档同时匹配 exclude
规则和 pinned
规则,则该文档将被排除。
要使用规则查询,首先需要定义一组查询规则。 使用查询规则管理 APIs来创建和管理查询规则。 有关更多信息和示例,请参阅使用查询规则进行搜索。
示例请求
编辑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" } } } } }