首页 > 解决方案 > 应用 match_phrase 和过滤器

问题描述

致力于弹性搜索 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" }
            }
        }
    }
}

标签: elasticsearch

解决方案


以下查询是您要查找的内容。

注意我是如何添加引号的"\"bike riding\""

POST <your_index_name>/_search
{
  "query": {
        "bool" : {
            "must" : {
                "query_string" : {
                    "query" : "\"bike riding\""
                }
            },
            "filter" : {
                "term" : { "seed": "sports" }
            }
        }
    }

}

让我知道它是否有帮助!


推荐阅读