elasticsearch ElasticSearch.net附件搜索数组返回所有带有搜索结果的附件如何仅检索点击 Class邮件 { 公共字符串MailID{get;set;} [嵌套] 公共列表附件{get;set;} } 班级附件 { public int AttachmentID{get;set;} 公共字符串数据{get;set;} [嵌套] public Nest.attachment{get;set;} }
上面是我的索引结构,其中包含正确索引的摄取管道数据,但当尝试搜索附件内容时,它会返回包含所有附件以及实际搜索附件的孔附件对象。 在结果中,我只需要带有搜索结果的附件 以下是我的疑问elasticsearch ElasticSearch.net附件搜索数组返回所有带有搜索结果的附件如何仅检索点击 Class邮件 { 公共字符串MailID{get;set;} [嵌套] 公共列表附件{get;set;} } 班级附件 { public int AttachmentID{get;set;} 公共字符串数据{get;set;} [嵌套] public Nest.attachment{get;set;} },elasticsearch,indexing,attachment,elasticsearch.net,elasticsearch,Indexing,Attachment,Elasticsearch.net,上面是我的索引结构,其中包含正确索引的摄取管道数据,但当尝试搜索附件内容时,它会返回包含所有附件以及实际搜索附件的孔附件对象。 在结果中,我只需要带有搜索结果的附件 以下是我的疑问 Class Mail { public string MailID {get;set;} [nested] public List<Attachment> attachments {get;set;} } Class Attachment { public
Class Mail
{
public string MailID {get;set;}
[nested]
public List<Attachment> attachments {get;set;}
}
Class Attachment
{
public int AttachmentID {get;set;}
public string Data {get; set;}
[nested]
public Nest.attachment {get;set;}
}
var response1=elasticClient.Search(s=>s
.Index(索引名)
.Query(q=>
q、 匹配(mq=>mq.Field(“attachments.attachment.content”).Query(“b”))
));
因为附件是需要使用的嵌套字段
作为响应,您需要在映射中从内部点击读取对象,嵌套的附件或对象的类型是什么?它是嵌套对象由于附件和附件都是嵌套类型,您是否尝试嵌套到第二级ex q.nested(n=>n.Path(“附件”)。查询(q2=>q2.nested(n2=>n2.Path(“attachments.attachment”).Query(q3=>
var response1 = elasticClient.Search<Mail>(s => s
.Index(indexName)
.Query(q =>
q.Match(mq => mq.Field("attachments.attachment.content").Query("b"))
));
.Nested(c => c
.Path(p => p.attachments)
.InnerHits = new InnerHits {},
.Query(q =>
q.Match(mq => mq.Field("attachments.attachment.content").Query("b"))
))