gpt4 book ai didi

elasticsearch - 在Elastic Search中匹配存储的值和查询

转载 作者:行者123 更新时间:2023-12-03 01:09:48 25 4
gpt4 key购买 nike

我有一个称为字段的字段,该字段位于嵌套字段“名称”中,该字段是 flex 搜索中的“关键字”。
名称字段包含2个值。

  • Jagannathan Rajagopalan
  • Rajagopalan。

  • 如果我查询“Rajagopalan”,我应该只获得项目#2。
    如果我查询完整的Jagannathan Rajagopalan,我应该得到#1。
    我该如何实现?

    最佳答案

    您需要使用用于精确搜索的term query。根据您的用例添加了一个工作示例。
    索引映射

    {
    "mappings": {
    "properties": {
    "name": {
    "type": "nested",
    "properties": {
    "keyword": {
    "type": "keyword"
    }
    }
    }
    }
    }
    }
    索引样本文档
    {
    "name" : {
    "keyword" : "Jagannathan Rajagopalan"
    }
    }
    还有另一个文件
    {
    "name" : {
    "keyword" : "Jagannathan"
    }
    }
    并搜索查询
    {
    "query": {
    "nested": {
    "path": "name",
    "query": {
    "bool": {
    "must": [
    {
    "match": {
    "name.keyword": "Jagannathan Rajagopalan"
    }
    }
    ]
    }
    }
    }
    }
    }
    搜索结果
       "hits": [
    {
    "_index": "key",
    "_type": "_doc",
    "_id": "2",
    "_score": 0.6931471,
    "_source": {
    "name": {
    "keyword": "Jagannathan Rajagopalan"
    }
    }
    }
    ]

    关于elasticsearch - 在Elastic Search中匹配存储的值和查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64678624/

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