Root mapping definition has unsupported parameters: [all : {analyzer=ik_max_wor

2024-04-19 02:12

本文主要是介绍Root mapping definition has unsupported parameters: [all : {analyzer=ik_max_wor,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你们好,我是金金金。

image.png

场景

  • 我正在使用Springboot整合elasticsearch,在创建索引(分词器) 运行报错,如下

image.png

排查

排查之前我先贴一下代码

import org.elasticsearch.action.admin.indices.create.CreateIndexRequest; // 注意这个包@SpringBootTest
public class RestHighLevelClientTest {// 当前客户端是手工维护的,因此不能通过自动装配的形式加载对象private RestHighLevelClient client;@BeforeEachvoid setUp() {HttpHost host = HttpHost.create("http://localhost:9200"); // 配置ES服务器地址与端口9200RestClientBuilder builder = RestClient.builder(host);client = new RestHighLevelClient(builder);}@AfterEachvoid tearDown() throws IOException {client.close();}@Testvoid testCreateIndexByIK() throws IOException {CreateIndexRequest request = new CreateIndexRequest("books");String json = "{\n" +"    \"mappings\": {\n" +"        \"properties\": {\n" +"            \"id\": {\n" +"                \"type\": \"keyword\"\n" +"            },\n" +"            \"name\": {\n" +"                \"type\": \"text\",\n" +"                \"analyzer\": \"ik_max_word\",\n" +"                \"copy_to\": \"all\"\n" +"            },\n" +"            \"type\": {\n" +"                \"type\": \"keyword\"\n" +"            },\n" +"            \"description\": {\n" +"                \"type\": \"text\",\n" +"                \"analyzer\": \"ik_max_word\",\n" +"                \"copy_to\": \"all\"\n" +"            },\n" +"            \"all\": {\n" +"                \"type\": \"text\",\n" +"                \"analyzer\": \"ik_max_word\"\n" +"            }\n" +"        }\n" +"    }\n" +"}";//设置请求中的参数request.source(json, XContentType.JSON);client.indices().create(request, RequestOptions.DEFAULT);}
}
  • 上面就是我的测试代码,很可惜它报错了。
  • 之前我在postman测试发送的请求参数没报错,所以我就很纳闷

image.png

所以我怀疑是不是在代码里面是不是写法不一样?当然我也在百度找到了方法,请看解决

造成error的原因

缺少参数导致识别不了(导入对包就没这个问题)

  • 我当前导入的CreateIndexRequest包是 import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;下的
    image.png

解决

第一种解决方式: 当导入的是import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;,在json请求参数里面需要加上一个type_name属性

image.png

可能不太建议这种方式,毕竟idea爆出了如下提示,还是用第二种方式吧

image.png

第二种解决方式: 当然也可以不加 type_name也一样可以成功,导入import org.elasticsearch.client.indices.CreateIndexRequest;这个包下的CreateIndexRequest即可

  • 编写有误还请大佬指正,万分感谢。

这篇关于Root mapping definition has unsupported parameters: [all : {analyzer=ik_max_wor的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/916389

相关文章

file-max与ulimit的关系与差别

http://zhangxugg-163-com.iteye.com/blog/1108402 http://ilikedo.iteye.com/blog/1554822

【docker】基于docker-compose 安装elasticsearch + kibana + ik分词器(8.10.4版本)

记录下,使用 docker-compose 安装 Elasticsearch 和 Kibana,并配置 IK 分词器,你可以按照以下步骤进行。此过程适用于 Elasticsearch 和 Kibana 8.10.4 版本。 安装 首先,在你的工作目录下创建一个 docker-compose.yml 文件,用于配置 Elasticsearch 和 Kibana 的服务。 version:

POJ 1050 To the Max(枚举+动规)

题目: http://poj.org/problem?id=1050 题解: 此题转化成一维后就相当于求最大连续子序列了,可以枚举所有的行组合,把枚举到的起始行到终止行的值按列相加存入一个一维数组。 代码: #include<cstdio>#include<cstring>int a[101][101];int value[101];int dp[101];int max(

Unsupported major.minor version 52.0 错误解决方法

自己前些天的项目突然出现这个问题,经过仔细排查,发现有两个原因都会导致这个问题。 第一个就是POM文件中的dependency重复,如果使用的是maven导入,重复写入dependency就会出现该错误。 第二个是版本不匹配,即所引用的jar包太新,并不匹配你的jdk,因为我们正常用的都是jdk7,但是现在已经更新到jdk10了,好多最新版本最新版本的jar包都是基于最新的jdk编写,所以可以

报错:Reached the max session limit(DM8 达梦数据库)

报错:Reached the max session limit - - DM8 达梦数据库 1 环境介绍2 数据库启动SYSTEM IS READY后面日志3 数据库刚启动日志4 达梦数据库学习使用列表 1 环境介绍 某项目无法连接数据库,报错:超过最大会话数限制 , 检查 dmdba ulimit -a openfiles 已改检查 dm.ini 其中 MAX_SESSION

【硬刚ES】ES基础(二十) 单字符串多字段查询:Dis Max Query

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的ES部分补充。

【硬刚ES】ES基础(十二)多字段特性及Mapping中配置自定义Analyzer

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的ES部分补充。

Servlet mapping specifies an unknown servlet name Action

看一下web.xml中<servlet-mapping>有没有配错

[LeetCode] 695. Max Area of Island

题:https://leetcode.com/problems/max-area-of-island/description/ 题目 Given a non-empty 2D array grid of 0’s and 1’s, an island is a group of 1’s (representing land) connected 4-directionally (horizont

[LeetCode] 485. Max Consecutive Ones

题: 题目 Given a binary array, find the maximum number of consecutive 1s in this array. Example 1: Input: [1,1,0,1,1,1]Output: 3Explanation: The first two digits or the last three digits are consec