span_multi 查询

span_multi 查询允许你将多词项查询(通配符 wildcard、模糊 fuzzy、前缀 prefix、范围 range 或 正则 regexp 查询之一) 包装为 span 查询,因此它可以嵌套。 示例:

GET /_search
{
    "query": {
        "span_multi":{
            "match":{
                "prefix":{"user":{"value":"ki"}}
            }
        }
    }
}

增强(boost)也可以与查询相关联:

GET /_search
{
    "query": {
        "span_multi":{
            "match":{
                "prefix":{"user":{"value":"ki","boost":1.08}}
            }
        }
    }
}

如果匹配查询的词项的数量超过 bool 查询限制(默认为1024),span_multi 查询将会遇到太多子句失败。 为了避免无限制的扩展,可以将多项查询的 重写方法 设置为 top_terms_* 重写。 或者,如果仅对 prefix 查询使用 span_multi,则可以激活 text 字段的 index_prefixes 字段选项。 这将把字段上的任何前缀查询重写为与索引前缀匹配的单个词项查询。