Elasticsearch检查标题是否已在类型中使用

时间:2017-05-12 00:41:03

标签: elasticsearch elasticsearch-5 elasticsearch-query

我已经在Elasticsearch中收集了一个数据库,我没有通过ID识别它们,而是通过标题来识别它们。因此,每种类型的标题都不相同。

我尝试过must => match_phrase,但它让我获得了不止一个回报。可能会将某些内容称为"Document 1",而其他内容可能会被称为"Document 1,2,3"。因此,通过执行match_phrase会返回多个结果。

我们说我有5个名为的文件:

  1. 文件示例1
  2. 示例1
  3. 1文档示例
  4. 文件示例1和2
  5. 文档示例
  6. 我应该发送什么请求,只返回例如:"Document example"

    我尝试了对127.0.0.1:9200/index/type/_search进行此类搜索的不同变体:

    {
        "query":{
            "match_phrase": {
                "title":"Document example"
            }
        }
    }
    

    所以我想知道如何检查或搜索确切的解析并只返回一个或零结果?

    修改

    127.0.0.1:9200/myindex/mytype/_mapping会返回此信息:

    {
      "myindex": {
        "mappings": {
          "mytype": {
            "properties": {
              "category": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              },
              "date": {
                "type": "date"
              },
              "link": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              },
              "size": {
                "type": "long"
              },
              "source": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              },
              "title": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              }
            }
          }
        }
      }
    }
    

1 个答案:

答案 0 :(得分:1)

只需在term上使用title.keyword过滤器(完全匹配):

{
  "query": {
    "term": {
      "title.keyword": {
        "value": "Document example"
      }
    }
  }
}