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即可

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/631024.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot项目创建,详细流程

一、前言 Spring Boot是一个开源的Java框架,由Pivotal团队(现为VMware旗下)开发,通过提供默认配置和一系列启动器(starters)来简化项目配置,使得开发者能够快速启动和运行Spring应用程序。 ‍ …

从入门到实践,详解 Web 爬虫技术(IP池免费送)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Leetcode138_随机链表的复制

1.leetcode原题链接:. - 力扣(LeetCode) 2.题目描述 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 …

解决 vue install 引发的 failed Error: not found: python2 问题

发生 install 异常时,提示信息如下所示: npm ERR! code 1 npm ERR! path U:\cnblogs\fanfengping-dtops\fanfengping-dtops-front\node_modules\node-sass npm ERR! command failed npm ERR! command U:\Windows\system32\cmd.exe /d /s /c node scripts…

北大字节联合发布视觉自动回归建模(VAR):通过下一代预测生成可扩展的图像

北大和字节发布一个新的图像生成框架VAR。首次使GPT风格的AR模型在图像生成上超越了Diffusion transformer。 同时展现出了与大语言模型观察到的类似Scaling laws的规律。在ImageNet 256x256基准上,VAR将FID从18.65大幅提升到1.80,IS从80.4提升到356.4,推理速度提高了20倍。 相…

PLC怎么接入互联网

几十年来,PLC都是用于现场设备的自动化控制。随着移动互联网技术的发展,移动办公的便捷性使PLC联网进行远程监控操作的需求越来越多。那PLC怎么接入互联网呢? PLC的通讯基本都是基于现场的通讯,无论是RS485,RS232还是 TCP协议&am…

泛微 E-Office 9.5版本存在ajax.php接口任意文件上传漏洞

声明: 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 简介 泛微 E-Office 9.5版本存在代码问题漏洞&#xff0c…

第二部分 Python提高—GUI图形用户界面编程(七)

菜单组件 文章目录 主菜单 GUI 程序通常都有菜单,方便用户的交互。我们一般将菜单分为两种:主菜单和快捷菜单(上下文菜单)。主菜单通常位于GUI 程序上方,通过鼠标右键单击某个组件对象而弹出的菜单,一般是与该组件相关的操作。 主菜单 主菜…

CUDA编程---线程束洗牌指令

从Kepler系列的GPU(计算能力为3.0或更高)开始,洗牌指令(shuffle instruction)作为一种机制被加入其中,只要两个线程在相同的线程束中,那么就允许这两个线程直接读取另一个线程的寄存器。 洗牌指…

太阳能路灯光伏板的朝向设计问题

题目:太阳能路灯光伏板的朝向设计问题 难度对标几乎每一年的国赛A题。 QQ群:592697532 公众号:川川菜鸟 文章目录 背景问题问题一问题二问题三 题目解读相关公式(必备)太阳辐射的计算光伏板接收的辐射光学效率大 气透…

Linux 系统下的进程间通信 IPC 入门 「中」

以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/39XQUQtGC3Ow-0s0JKWnog 信号量 信号量一般用于配合共享内存的数据传输,共享内存被多个进程之间共享访问,各个进程对共享…

大型网站系统架构演化实例_3.使用服务集群改善网站并发处理能力

1.使用服务集群改善网站并发处理能力 使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去更换更强大的服务器,对大型网站而言,不管多么强大的服务器,对大型网站而言&…