elasticsearch - 如何在 ElasticSearch 中不分析?

标签 elasticsearch token analyzer verbatim

我不想分析 ElasticSearch 字段中的一个字段,即。 e.它应该被逐字存储和比较。这些值将包含字母、数字、空格、破折号、斜杠和可能的其他字符。

如果我没有在该字段的映射中提供分析器,默认情况下仍会使用分词器,它将我的逐字字符串破解成词 block 。我不想这样。

有没有一个基本上不分析的 super 简单的分析器?或者是否有其他方式表示不应分析该字段?

我只创建索引,我什么都不做。我可以对其他字段使用像“english”这样的分析器,这似乎是预配置分析器的内置名称。有其他名字的列表吗?也许有一个适合我的需要(即不对输入进行任何操作)。

这是我目前的映射:

{
  "my_type": {
    "properties": {
      "my_field1": { "type": "string", "analyzer": "english" },
      "my_field2": { "type": "string" }
    }
  }
}

my_field1 依赖于语言;这似乎有效。 my_field2 应逐字记录。我想在那里提供一个什么都不做的分析器。

my_field2 的示例值为 "B45c 14/04"

最佳答案

"my_field2": {
    "properties": {
        "title": {
            "type": "string",
            "index": "not_analyzed"
        }
    }
}

在这里检查你,https://www.elastic.co/guide/en/elasticsearch/reference/1.4/mapping-core-types.html ,了解更多信息。

关于elasticsearch - 如何在 ElasticSearch 中不分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18235996/

相关文章:

java - spring-data-elasticsearch 中的 XSD 验证错误

c++ - 如何在没有提升的情况下标记字符串?

makefile - GNU Makefile "preprocessor"?

elasticsearch - 如果文本包含特殊字符(如#,@),则自定义标记生成器不会按预期生成标记

indexing - 在not_analyzed字段的中间搜索

ElasticSearch 6 高级 Rest 客户端 preparePutMapping

ajax - 搜索本地日期范围 Elasticsearch

elasticsearch - MVEL 和 Elasticsearch 的 bool 值脚本问题

Java:按输入字符串的标记读取标记

java - 如何在java中扫描文本时删除空格