gpt4 book ai didi

search - 从Elasticsearch中的精确单词匹配开始?

转载 作者:行者123 更新时间:2023-12-03 00:05:55 24 4
gpt4 key购买 nike

我有一个包含字段标题的索引,其数据如下。

  • 果酱面包
  • jamun
  • 牙买加国家

  • 因此,如果用户搜索 jam ,我不希望 jamun jamaica country 也出现在搜索结果中。现在,我在Elasticsearch中使用前缀查询,但是没有给我想要的结果。
    { 
    "query": {
    "prefix" : { "title" : "jam" }
    }
    }

    最佳答案

    您将获得两个结果,因为前缀查询实际上对倒排索引运行一个regexp查询(keyword*),因此两个结果都将匹配。

    您可以执行以下操作,并使用term query而不是前缀查询来对tokenized关键字进行完全匹配。

    PUT exact_index1
    {
    "mappings": {
    "document_type" : {
    "properties": {
    "title" : {
    "type": "text"
    }
    }
    }
    }
    }

    POST exact_index1/document_type
    {
    "title" : "jamun"
    }

    POST exact_index1/_search
    {
    "query": {
    "term": {
    "title": {
    "value": "jam"
    }
    }
    }
    }

    希望这可以帮助

    关于search - 从Elasticsearch中的精确单词匹配开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45137621/

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