假设我在搜索相同内容后得到一些产品列表,现在我想根据颜色,大小等属性来过滤它们。
如何编写嵌套查询?
这是我的搜索查询:
var result = client.Search<document>(s => s
.Analyzer("automplete").From(0).Size(20)
.Query(p => p
.MultiMatch(m => m
.OnFields(new[] { svalue })
.Query(value).Type(TextQueryType.PhrasePrefix)))
.Highlight(m => m.OnFields(n => n.OnField("some_field"))));
答案 0 :(得分:0)
`
GET /my_index/blogpost/_search
{
"query": {
"bool": {
"must": [
{ "match": { "title": "eggs" }},
{
"nested": {
"path": "comments",
"query": {
"bool": {
"must": [
{ "match": { "comments.name": "john" }},
{ "match": { "comments.age": 28 }}
]
}}}}
]
}}}
`
在您的情况下,要访问嵌套的对象,您需要为条件添加products.color。