我不想分析 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/