Elasticsearch 默认情况下不会对单个字进行分词处理,因此搜索时很难匹配单个字。这是因为 Elasticsearch 使用了分词器(tokenizer)对文本进行处理,将文本拆分成一个个词(term),然后建立倒排索引(inverted index)来加快搜索速度。

如果你希望能够搜索单个字,可以考虑使用一个特殊的分词器来处理单个字。例如,可以使用 keyword 分词器来直接将文本作为一个整体进行匹配。可以使用以下示例进行搜索:

GET /your_index/_search
{
  "query": {
    "match": {
      "your_field": {
        "query": "your_keyword",
        "analyzer": "keyword"
      }
    }
  }
}

上述示例中,your_index 是你的索引名称,your_field 是你要搜索的字段名称,your_keyword 是你要搜索的单个字或关键字。

使用 keyword 分词器可以实现对单个字的精确匹配,但也会带来一些限制,例如无法进行模糊匹配、大小写不敏感等。根据具体的需求,你可以选择合适的分词器来处理单个字的搜索

Elasticsearch 搜索匹配不了单个字

原文地址: https://www.cveoy.top/t/topic/ivEN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录