我需要搜索必须和应该的产品。 查询示例:黑色牛仔裤。 我有性别,所以性别=男人是必须的。其余查询转到其他字段,例如标题和说明。有人可以帮我形成查询吗?
query: {
bool: {
should: [{
match: {
title: {
query: search_term,
boost: 5,
analyzer: 'my_analyzer',
minimum_should_match: '80%',
}
}
},
{
match: {
queries: {
query: search_term,
boost: 10,
minimum_should_match: '90%',
}
}
},
{
match: {
gender: {
query: gender,
boost: 8,
minimum_should_match: '100%',
}
}
},
{
match: {
color: {
query: color,
boost: 5,
minimum_should_match: '100%',
}
}
}
]
}
}
我已经尝试过了,但是没有用。有人可以如何使其更好地用于搜索。
答案 0 :(得分:0)
这应该满足您的要求:
GET <indexname>/_search
{
"query": {
"bool": {
"must":
{
"match_phrase": {
"geneder": "men"
}
},
"should": [
{
"match": {
"title": "diesel"
}
},
{
"match": {
"description": "Strechable denim jeans for men"
}
}],
"minimum_should_match": 1
}
}
}