【发布时间】:2017-10-28 21:34:05
【问题描述】:
目前,我们在多搜索查询中修复了 3 个搜索查询。代码如下:
var results = elasticClient.MultiSearch(a => a
.Search<StockBaseEntity>(s => s
.Type("<docType>")
.Index(<indexName>)
.Take(<count>)
.Query(qq => qq
...
.Search<StockBaseEntity>(s => s
.Type("<docType>")
.Index(<indexName>)
.Take(<count>)
.Query(qq => qq
....
.Search<StockBaseEntity>(s => s
.Type("<docType>")
.Index(<indexName>)
.Take(<count>)
.Query(qq => qq
....
所有三个搜索查询都有一些不同的查询参数,例如,第一个查询返回“type1”文档,第二个和第三个分别返回“type2 和 type3”文档。
我们希望以这样一种方式构建这个多重搜索嵌套查询,即我们可以在多重搜索查询中拥有任意数量的搜索嵌套查询(而不仅仅是 3 个)。它可以是 3/4/5 或基于某些条件的任意数量的搜索查询。如果我们可以将搜索查询附加到多搜索,这可以实现吗?我们可以这样做吗?
我阅读了this 的文章,但对于 Nest 版本 5.X 无法获得相同的内容,而且我不知道如何使用 QueryContainer 编写查询?
【问题讨论】:
-
来自 NEST 测试项目的 MultiSearchApiTests 应该对您的问题有所了解。
-
这部分我已经完成了。我对“流利的语法”有疑问。如何将流利的查询放入“new QueryContainer()”中? (因为将所有内容都转换为 OIS 需要付出太多努力)
-
@Rob:有什么想法吗?我已经为此发布了新问题..您可能会在此链接中获得一些详细信息:- stackoverflow.com/questions/46999703/…
标签: c# elasticsearch nest