使用Elastic Search 6.4.2。我想使用match_pharse
从索引中检索结果。同样,我需要为此应用过滤器。任何解决方案。我尝试了以下查询
{
"query": {
"bool": {
"should":
{
"match_phrase": {
"title": "bike riding"
}}
}
}}
但是当我使用match_pharse
时,我需要传递字段以获取结果。我正在共享需要编辑的映射和查询。我可以使用match_phrase
进行查询的任何帮助。
映射:
{
"mapping": {
"doc": {
"properties": {
"content": {
"type": "text",
"store": true,
"analyzer": "my_analyzer"
},
"description": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"domain": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"host": {
"type": "keyword",
"store": true
},
"keywords": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"seed": {
"type": "keyword",
"store": true
},
"title": {
"type": "text",
"store": true,
"analyzer": "my_analyzer"
},
"url": {
"type": "text",
"store": true
}
}
}
}
}`
查询:
如何将match_phrase
添加到下面的
{
"query": {
"bool" : {
"must" : {
"query_string" : {
"query" : "bike riding"
}
},
"filter" : {
"term" : { "seed" : "sports" }
}
}
}
}
答案 0 :(得分:1)
下面的查询是您想要的。
注意如何在"\"bike riding\""
周围加上引号
POST <your_index_name>/_search
{
"query": {
"bool" : {
"must" : {
"query_string" : {
"query" : "\"bike riding\""
}
},
"filter" : {
"term" : { "seed": "sports" }
}
}
}
}
让我知道是否有帮助!