elasticsearch - Elasticsearch Dynamic Analyzer和同义词

标签 elasticsearch

嗨,我有一个用例,希望我的应用程序动态确定xyz_tokizer,xyz_filter,xyz_synonyms等

与此类似的东西
'''
GET test / _search

{
  "query":{
    "match": {
      "content": {
          "query": "search_text",
          "analyzer": {
            "filter": "xyz_filter",
            "tokenizer": "xyz_tokenizer"
          }
        }
    }

  }
}

'''
但是,它会引发错误。根据elasticsearch文档,我发现我们只能指定在索引设置中定义的分析器。同样,如何动态指定过滤器, token 生成器

最佳答案

您不能,这些分析器需要在索引中注册,您可以根据需要动态使用search time analyzer

但是索引时间,您不能动态添加它们,它必须存在于索引设置中。您还可以更改索引设置,以添加新的分析器并使用新添加的分析器添加新字段(增量更改),但是更改字段的现有分析器是一项重大更改,您需要重新索引整个数据。

关于elasticsearch - Elasticsearch Dynamic Analyzer和同义词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61610447/

相关文章:

django - 合并两个 Haystack 查询集的结果

spring-boot - 无法使用 AbstractReactiveElasticsearchConfiguration 将数据写入 ElasticSearch

scala - 如何在Spark和Elasticsearch中迭代hadoop MapWritable

elasticsearch - 使用Elasticsearch作为备份存储

ubuntu - 如何使用 curl 从 ElasticSearch 中删除所有日志数据?

jdbc - Elasticsearch river 插件的替代品

php - Symfony elasticsearch包

elasticsearch - Elasticsearch范围过滤器在日期直方图中不起作用

amazon-web-services - 是否会使用 cloudformation 配置对 Amazon Elasticsearch Service 域的 VPC 支持

elasticsearch - 请求在Elasticsearch中通过ID失败删除记录?