java - 设置 search_analyzer 时,必须设置字段 [filename] 上的分析器。弹性搜索错误
问题描述
mappings
在为我的 elasticsearch index_analyzer设置时收到以下错误消息
请在下面找到错误消息
{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "analyzer on field [filename] must be set when search_analyzer is set"
}
],
"type": "mapper_parsing_exception",
"reason": "Failed to parse mapping [doc]: analyzer on field [filename] must be set when search_analyzer is set",
"caused_by": {
"type": "mapper_parsing_exception",
"reason": "analyzer on field [filename] must be set when search_analyzer is set"
}
},
"status": 400
}
请找到我尝试过的映射详细信息
PUT /documents_test8
{
"settings" : {
"analysis" : {
"analyzer" : {
"filename_search" : {
"tokenizer" : "filename",
"filter" : ["lowercase"]
},
"filename_index" : {
"tokenizer" : "filename",
"filter" : ["lowercase","edge_ngram"]
}
},
"tokenizer" : {
"filename" : {
"pattern" : "[^\\p{L}\\d]+",
"type" : "pattern"
}
},
"filter" : {
"edge_ngram" : {
"side" : "front",
"max_gram" : 20,
"min_gram" : 1,
"type" : "edgeNGram"
}
}
}
},
"mappings" : {
"doc" : {
"properties" : {
"filename" : {
"type" : "text",
"search_analyzer" : "filename_search",
"index_analyzer" : "filename_index"
}
}
}
}
}
解决方案
该index_analyzer
属性不再存在,您需要analyzer
使用
"mappings" : {
"doc" : {
"properties" : {
"filename" : {
"type" : "text",
"search_analyzer" : "filename_search",
"analyzer" : "filename_index" <-- change this
}
}
}
}
推荐阅读
- c# - 需要通过 IIS 应用程序访问 Google Drive V3 - 不使用 MVC
- reactjs - 如何使用 webpack 和 typescript 将 npm 模块 css 导入为全局?
- oop - 数值模拟的函数式编程
- javascript - 在基于 XML 的 Web 应用程序中包含导致 XML 解析错误的库
- javascript - 获取对象数组内数组的累积长度
- python - Django 在模板中向特定用户显示最新的电子邮件
- python - 在 python 中,如何为其中一列中列表的每个元素创建单独的行?
- r - 如果在 purrr 语言中不存在列,则添加列
- c++11 - 如果 C++ 中有引用参数,如何复制函数的参数?
- python - 为什么 pandas 会删除重复数据?