小编M N*_*esh的帖子

在 Elasticsearch 中包含查询或部分匹配

我正在寻找一个词,比如“修正”,它可能在数据中以“修正”、“修正”甚至“*修正”的形式出现。搜索此类单词的最佳方法是什么?我知道通配符可以实现这一点,但由于我的其他代码部分,我被限制不使用它。有哪些不同的方式可以提供更好的搜索性能?

elasticsearch

7
推荐指数
2
解决办法
1万
查看次数

Elasticsearch 中一个自定义分析器内的多个分词器

我正在使用自定义 NGRAM 分析器,它有一个 ngram 分词器。我还使用了小写过滤器。该查询对于没有字符的搜索运行良好。但是当我搜索某些符号时,它失败了。由于我使用了小写分词器,Elasticsearch 不会分析符号。我知道空格标记器可以帮助我解决这个问题。如何在单个分析器中使用两个分词器?下面是映射:

{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "tokenizer":"my_tokenizer",
          "filter":"lowercase"
        }
      },
      "tokenizer": {
        "my_tokenizer": {
          "type": "ngram",
          "min_gram": 3,
          "max_gram": 3,
          "token_chars": [
            "letter", 
            "digit"
          ]
        }
      }
    }
  },
    "mappings": {
    "_doc": {
      "properties": {
        "title": {
          "type": "text",
          "analyzer": "my_analyzer"
        }
      }
    }
  }

}
Run Code Online (Sandbox Code Playgroud)

我有办法解决这个问题吗?

elasticsearch

5
推荐指数
1
解决办法
8276
查看次数

标签 统计

elasticsearch ×2