Py学习  »  Elasticsearch

嵌套-当项为空时多匹配搜索所有文档-ElasticSearch 6.4

Cesar • 5 年前 • 1051 次点击  

我正在尝试使用nest和multimatch选项进行查询,但结果并不像预期的那样。

我提交的一个术语应该与几个字段进行比较。但是,如果未设置搜索词,则必须返回所有文档。

我发现可以使用类似“*”的关键字。*“但没用。 有什么建议吗?

var searchResponse = client.Search<DocumentElasticModel>(s => s
              .Size(pageSize)
              .Skip(currentPageIndex * pageSize)
              .Sort(ss => ss
                .Descending(SortSpecialField.Score)
              )
              .Source(sf => sf
                .Includes(i => i
                    .Fields(
                        returnedFields
                    )
                )
              )
              .Query(q => q
                .Nested(c => c
                    .Name("named_query")
                    .Boost(1.1)
                    .InnerHits(i => i.Explain())
                    .Path(p => p.PerguntasRespostas)
                    .Query(nq => nq
                        .MultiMatch(m => m
                            .Fields(f => filterFields) 
-----------------------WHEN THE 'SEARCH' IS EMPTY, SHOULD FIND ALL -----------------
                            .Query(string.IsNullOrEmpty(search) ? string.Empty : search)
                        )
                    )
                    .IgnoreUnmapped()
                )
              )
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47752
 
1051 次点击  
文章 [ 1 ]  |  最新文章 5 年前