我想使用Elasticsearch.Net/NEST搜索相关文档。例如,我有:
Person:
id name address_id
-- ---- ----------
1 John 1
2 Mary 2
Address:
id city
-- ------
1 Boston
2 Berlin
我想分别存储“个人”和“地址”文档,并根据“地址”字段查询返回“个人”文档的位置。例如,返回居住在波士顿的人的所有文件。我已经在Elaticsearch文档中看到了一些使用映射和父/子指令的示例,但对于Elasticsearch.Net/NEST没有看到任何示例。任何代码示例或指针将不胜感激…
这是一个小片段,其中地址是父母
编辑:创建索引:
var indicesOperationResponse = _client.CreateIndex(ci => ci.Index("test")
.AddMapping<Address>(m => m.MapFromAttributes())
.AddMapping<Person>(m => m.MapFromAttributes().SetParent<Address>()));
索引文件:
var bulkResponse = _client.Bulk(b => b
.Index<Address>(bd => bd.Object(new Address { Name = "Tel Aviv", Id = 1 }).Index("test"))
.Index<Person>(bd => bd.Index("test").Object(new Person {Id = 5, Address = 1, Name = "Me"}).Parent(1)));
并按父母搜索
var searchResponse = _client.Search<Person>(s => s
.Query(q=>q.MatchAll())
.Filter(q => q
.HasParent<Address>(c => c
.Query(cq => cq.Match(m=>m.OnField(t => t.Name).Query("Tel Aviv"))))));
问题内容: 假设我要搜索一系列嵌入式文档或子文档,但将它们的父母作为我的结果返回,例如“建筑物和单元”: 现在假设我要退回所有单位> = 1000平方英尺的建筑物。我该怎么做? 问题答案: 将单位大小存储为数组: 并搜索:
在Hibernate文档中,有这样一句话: Hibernate中一对多关联的默认语义与父/子关系的常用语义相比,与复合元素映射的语义要差得多。 我发现这句话很混乱,有人能解释一下它的意思吗?此外,在Best Pratices页面上,您会发现 编写细粒度的类并使用
问题内容: 映射: 分行文件: 员工证件: 我想查找具有父ID的文档,我尝试了以下查询: 但是ES没有返回结果。如何在Elasticsearch中搜索具有相同父ID的子文档? 问题答案: 将在OP。有无效是没有叫父在外地类型。 以下是有效查询的示例:
尝试排除其中一个子文档与查询不匹配的顶级文档。 对于下面的示例,我试图排除其中一个嵌套作业具有并且与匹配的所有文档。但是,由于其中一个嵌套作业文档与和公司匹配,因此返回此文档。我使用的是一个嵌套查询,其中公司名称必须匹配,并且过滤器的当前值为false。我如何才能使以下文件不被退回?
问题内容: 我正在为我们运行概念验证,以便对ES中更多“标准化”的数据运行嵌套查询。 例如带有嵌套 客户->-名称 -电子邮件-事件->-创建-类型 现在,我可以将给定客户的事件列表移至另一位客户。例如,客户A有50个事件客户B有5000个事件 我现在想将所有事件从客户A移动到客户B 拥有数百万客户的规模,并且在UI中针对图形进行查询,Parent / Child更适合还是应该能够嵌套处理? 在我
考虑以下Firestore结构: 收藏 现在,我想查询宠物满足某些条件的人。例如,拥有两只以上宠物的人,或者拥有一只名为“ABC”的宠物的人。 这可能吗?