Elasticsearch多重匹配在提供空字符串时不返回所有结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch多重匹配在提供空字符串时不返回所有结果相关的知识,希望对你有一定的参考价值。

我总共有1783条记录,并且如果没有提供multi_match查询(searchObject.query = ''),我希望ES返回所有记录[>

如果我将一个空数组传递给query.bool,就做到了。应该

,因此理论上我可以基于searchObject.query值更新下面的ES对象,但我不确定这是否是一个好主意。

    _source: [
        'id',
        'event',
        'description',
        'element',
        'date'
    ],
    track_total_hits: true,
    query: 
        bool: 
            should: [
                multi_match:
                    query: searchObject.query
                    fields: ["element","description","nar.*","title","identifier"]
                
            ],
            filter: []
        
    ,
    highlight:  fields:  '*':   ,
    sort: [],
    from: 0,
    size: 10

有什么建议吗?

我总共有1783条记录,我希望ES在不提供multi_match查询的情况下返回所有记录(searchObject.query =”),如果我将空数组传递给query.bool,则可以这样做。 ...

答案

您可以将match_all附加到match_all

以上是关于Elasticsearch多重匹配在提供空字符串时不返回所有结果的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch:查找子字符串匹配

根据 "\s+" 拆分空字符串时的 String#split 行为

文本为空字符串时,自动布局UILabel的动态高度计算不起作用?

如何在从数据库中获取空字符串时修复它?

非空字符串时触发条件

传递空字符串时,SQL Server OPENJSON 为日期类型返回 1900-01-01