一尘不染

如何在ElasticSearch中不进行分析?

elasticsearch

我在ElasticSearch字段中有一个我不想分析的字段,即应逐字存储和比较它。这些值将包含字母,数字,空格,破折号,斜杠以及其他字符。

如果我在此字段的映射中未提供分析器,则默认值仍会使用标记程序,该标记程序会将我的逐字字符串分成大量单词。我不要

是否有一个超级简单的分析器,基本上不分析?还是有另一种方式表示不应分析此字段?

我只创建索引,我什么也没做。我可以在其他字段中使用“英语”之类的分析器,这似乎是预配置分析器的内置名称。是否有其他名称的列表?也许有一种适合我的需求(即对输入不执行任何操作)。

这是我当前的映射:

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

my_field1与语言有关;这似乎可行。 my_field2应逐字记录。我想给一个分析仪,它根本不做任何事情。

的样本值my_field2将为"B45c 14/04"


阅读 286

收藏
2020-06-22

共1个答案

一尘不染

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

在此处查看您的详细信息,https: //www.elastic.co/guide/zh-
CN/elasticsearch/reference/1.4/mapping-core-types.html。

2020-06-22