我正在使用query_string
从Elastic中搜索记录,
查询示例:
GET /stories_qa/_search
{
"query": {
"query_string": {
"query": "Johnson && Johnson"
}
}
}
该查询为我提供了相关记录,但是精确匹配记录不在最上面,我想出了如何根据特定字段来增强记录的方法,但是在我的情况下,我不想提供字段并限制搜索范围, ElasticSearch中有一个选项可以实现相同目的。
最佳答案
您可能可以执行以下操作,但是在将其移至生产环境之前,请进行彻底的测试并测试多个场景。
POST <your_index_name>/_search
{
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{
"query_string": {
"query": "\"Karnataka Delhi\"",
"default_operator": "AND"
}
}
]
}
},
{
"query_string": {
"query": "Karnataka Delhi",
"default_operator": "OR",
"boost": 2
}
},
{
"query_string": {
"query": "Karnataka Delhi",
"default_operator": "AND",
"boost": 4
}
}
]
}
}
}
希望这可以帮助!