我有两个索引,每个索引都有自己的(不同形状)文档,但我有一个要求,搜索结果应该包括这两种类型的文档。
从我所读到的我需要做的是跨两个索引的协变搜索,搜索多个索引似乎并不困难,但我对如何在Elasticsearch 6.x中进行协变搜索一无所知。这里所有其他问题的答案都是针对旧版本的,所以这方面的文档非常有限。
https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/covariant-search-results.html
在5.x及更低版本中,可以通过检查每个文档的类型并反序列化为相应的.NET类型来实现协变搜索。使用types being removed from Elasticsearch,6.x中的协变搜索变得有点棘手,我们基本上可以采用两种方法之一
Dictionary<string, object>
或Json.NET的JObject
$type
discriminator field,以后可以将其反序列化为正确的类型。