0

我有一些疑问

{ type: 'Wandering',
   zone: '1',
   personName: 'Dmytro',
   personRoom: 'Room_73' } }

并在查询字符串中使用通配符和模糊性,但看起来,当我输入 'Wandring' 或 'wadnering' 时,我预计模糊性会产生转置。

 'query': {
                    'query_string' : {
                        'query': `*${search}*~1 OR *${search}~1`,
                        'analyze_wildcard': true,
                    },
                }

,

定义映射。也许这取决于文档索引的方式。
映射

{
  "call": {
    "mappings": {
      "Call": {
        "properties": {
          "personName": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "personRoom": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "type": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "zone": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          }
        }
      }
    }
  }
}
4

1 回答 1

0

这应该有效:

                'query_string' : {
                    'query': `${search}~1`,
                    'analyze_wildcard': true,
                }

关于通配符,我建议在查看之前先查看替代搜索类型。它们特别重,并且在搜索方面表现不佳,尤其是领先的通配符。

于 2018-03-14T13:12:45.827 回答