弹性搜索子对象 ID 搜索
本文关键字:搜索 ID 对象 | 更新日期: 2023-09-27 18:34:55
我有一个看起来像这样的文档
document
{
Title:string,
Id:integer
Tags:List<Tag>
}
Tag
{
Id:integer,
Value:string,
Type:string
}
现在我有参数 serchtext 和 tagid 我需要根据此参数获取结果 获取与搜索词匹配并包含传递的 tagid 的所有对象
这是我一直在尝试的,但没有运气
var fuzzySearchResult = client.Search<Products>(s => s
.From(o)
.Size(50)
.Index(index)
.Query(filterQuery).Filter(ff=>ff.Term(t=>t.Tags.Where(id=>id.Id==tagid).FirstOrDefault().Id,Id))
);
试试这个:
var searchtext="term";
var tagid=1;
var documents= client.Search<Document>(x => x.Query( s =>s.Term(p=>p.Title, searchtext) && s.Term(z => z.Tags.Select(t=>t.Id), tagId)));
此查询搜索标题中包含搜索文本和 id=tagId 标记的所有文档。