gpt4 book ai didi

elasticsearch - 如何在elasticsearch中为搜索查询增加模糊性?

转载 作者:行者123 更新时间:2023-12-03 00:15:41 26 4
gpt4 key购买 nike

我正在尝试在跨字段查询中的特定字段上实现模糊性。但是,这有点困难。

因此查询应:

  • 跨字段匹配短语。
  • 与partNumber和条形码完全匹配(无模糊性)
  • 将模糊术语与标题和字幕匹配。

  • 我到目前为止的查询如下-请注意,到目前为止,模糊性在查询中根本不起作用。

    因此,这应匹配1个结果,即标题中的“Amazing t-Shirt”和副标题中的Blue。 (请注意拼写错误)。

    是否可以在索引映射级别实现模糊性?标题和副标题在数据集中非常短-最多可以合并30-40个字符。

    否则,如何在查询的标题和副标题中添加模糊性?
    {
    "query": {
    "multi_match": {
    "query": "Bleu Amazing T-Shirt",
    "fuzziness": "auto",
    "operator": "and",
    "fields": [
    "identity.partNumber^4",
    "identity.altIdentifier^4",
    "identity.barcode",
    "identity.mpn",
    "identity.ppn",
    "descriptions.title",
    "descriptions.subtitle"
    ],
    "type": "cross_fields"
    }
    },
    "fields": [
    "identity.partNumber",
    "identity.barcode",
    "identity.ppn",
    "descriptions.title",
    "descriptions.subtitle"
    ]
    }

    最佳答案

    很好,似乎似乎不支持使用cross_fields进行模糊搜索,但存在一些相关问题。因此,我没有跨域搜索,而是在索引时间将标题和副标题复制到了一个新字段,并按如下所示拆分了查询。似乎至少可以用于我的测试用例。

    "query": {
    "bool": {
    "should": [
    {
    "multi_match": {
    "query": "{{searchTerm}}",
    "operator": "and",
    "fields": [
    "identity.partNumber^4",
    "identity.altIdentifier^4",
    "identity.barcode",
    "identity.mpn",
    "identity.ppn"
    ],
    "type": "best_fields"
    }
    },
    {
    "match": {
    "fuzzyFields": {
    "query": "{{searchTerm}}",
    "operator": "and",
    "fuzziness": "auto"
    }
    }
    }
    ]
    }
    }

    关于elasticsearch - 如何在elasticsearch中为搜索查询增加模糊性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36191986/

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