gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 23:25:27 24 4
gpt4 key购买 nike

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

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

假设我有5个名为:

  • 文档示例1
  • 示例1
  • 1文档示例
  • 文档示例1和2
  • 文档示例

  • 我应该发送什么请求以仅返回例如 "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
    }
    }
    }
    }
    }
    }
    }
    }

    最佳答案

    只需在term上使用title.keyword过滤器(即可实现精确匹配):

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

    关于elasticsearch - Elasticsearch检查标题是否已在类型中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43927656/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com