我想指定一个分析器,命名它,并在创建索引时在映射中使用该名称。我迷路了,我的ES实例总是向我返回一条错误消息。
大致来说,这就是我想要做的:
"settings": { "mappings": { "alfedoc": { "properties": { "id": { "type": "string" }, "alfefield": { "type": "string", "analyzer": "alfeanalyzer" } } } }, "analysis": { "analyzer": { "alfeanalyzer": { "type": "pattern", "pattern":"\\s+" } } } }
但这似乎行不通。ES实例总是返回一个错误,例如
MapperParsingException[mapping [alfedoc]]; nested: MapperParsingException[Analyzer [alfeanalyzer] not found for field [alfefield]];
我尝试将"analysis"字典的分支放在多个位置(在映射等内部),但无济于事。我想一个完整的示例(到目前为止还找不到)可以帮助我。可能我缺少了一些基本知识。
"analysis"
“分析”位于“设置”块中,在创建索引时位于“映射”块之前或之后。
"settings": { "analysis": { "analyzer": { "alfeanalyzer": { "type": "pattern", "pattern": "\\s+" } } } }, "mappings": { "alfedoc": { ... } }
这是一个很好的示例:示例1