解决使用@Field注解配置分词器失效问题(Spring Data Elasticsearch)

news2024/11/18 15:39:54

问题复现:插入数据时,实体类配置的@Field注解没有生效

实体类:

package cn.aopmin.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Document(indexName = "product", // 索引库名称
        shards = 1, // 主分片个数
        replicas = 1 // 备份分片个数
)
public class Product {

    /**
     * 主键id
     */
    // ES主键id
    @Id
    private Long id;

    /**
     * 商品名称
     */
    // ES普通字段
    @Field(type = FieldType.Text, // 字段类型
            analyzer = "ik_max_word", // 建立索引用的分词器
            searchAnalyzer = "ik_smart", //查询时用的分词器
            store = true // 是否额外存储一份 (ES默认把文档字段存储在源文档_source中)
    )
    private String productName;

    /**
     * 库存数量
     */
    @Field(type = FieldType.Integer, store = true)
    private Integer store;

    /**
     * 价格
     */
    @Field(type = FieldType.Double, store = true)
    private Double price;


    /**
     * 分类
     */
    @Field(type = FieldType.Keyword) //不分词
    private String category;
}

查看索引库,发现它使用动态映射,并没有使用静态映射:

在这里插入图片描述

解决方案:在插入数据时,提前创建索引库和映射。

在这里插入图片描述在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习李宏毅学习笔记38

文章目录 前言一、生成式学习二、各个击破和一次到位的对比1.各个击破(Autoregressive(AR) model)2.一次到位(Non-autoregressive(NAR) model) 总结 前言 生成式学习两种策略:各个击破/一次到位 有结构的生成物比如语…

【vue3】常见的使用vue3创建项目的几种方法

1、使用ui界面创建,winr打开命令提示符,输入vue ui 2、winr打开命令提示符,输入vue create 项目名称 3、使用脚手架创建 其中方法一,方法二是使用npm run serve来运行的,方法三是使用npm run dev运行的

基于MOT数据集的高精度行人检测系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于MOT数据集的高精度行人检测系统可用于日常生活中检测与定位行人目标,利用深度学习算法可实现图片、视频、摄像头等方式的行人目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型训练数据集&…

react native 本地存储 AsyncStorage

An asynchronous, unencrypted, persistent, key-value storage system for React Native. Async Storage 只能用来储存字符串数据,所以为了去储存object类型的数据,得先进行序列化(JSON.stringify())当你想要使用数据的时候&…

redis(9):spring里面使用redis

1 创建一个mave项目 自行创建一个maven项目 2 修改pom.xml <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven…

Python电商爬虫保姆级入门教程(纯新手向)

图灵Python课堂 长沙图灵教育于2001年开始进入教育行业&#xff0c;立足泛IT类职业教育&#xff0c;以打造高新技术人才为宗旨&#xff0c;专注于提供多层次、个性化的职业技能培训课程&#xff0c;为各行业培养技术开发、应用和管理等岗位的中高端人才&#xff0c;致力于成为…

vue全局状态管理工具 Pinia 的使用

先了解一下关于Pinia的一些故事&#xff0c;面试把这些讲给面试官挺加分的&#xff0c;同时这是我持续学习下去的动力 1.为什么叫Pinia&#xff1f; 官网解释是西班牙语中的 pineapple&#xff0c;即“菠萝”&#xff0c;菠萝花是一组各自独立的花朵&#xff0c;它们结合在一起…

王道考研数据结构--4.1.顺序队列

目录 前言 1.顺序队列的定义 2. 顺序队列的结构 3.顺序队列的操作 3.1定义顺序队列 3.2初始化 3.3入队 3.4出队 3.5遍历求表长 3.6清空&#xff0c;销毁队列 4.完整代码 前言 日期&#xff1a;2023.7.25 书籍&#xff1a;2024年数据结构考研复习指导&#xff08;王道…

从小白到大神之路之学习运维第67天-------Tomcat应用服务 WEB服务

第三阶段基础 时 间&#xff1a;2023年7月25日 参加人&#xff1a;全班人员 内 容&#xff1a; Tomcat应用服务 WEB服务 目录 一、中间件产品介绍 二、Tomcat软件简介 三、Tomcat应用场景 四、安装配置Tomcat 五、配置目录及文件说明 &#xff08;一&#xff09;to…

pcie

pcie有两层意思&#xff1a;一层是总线&#xff0c;一层是接口。 下面说的是pcie接口&#xff0c;也就是插槽 一、PCI-E插槽有何作用&#xff1f; 作用是连接显卡、独立声卡、独立网卡、USB 3.0/3.1接口扩展卡、RAID阵列卡、PCI-E SSD等设备。 二、PCI-E插槽分类 PCI-E x1/x2…

ansible自动化运维

&#x1f618;作者简介&#xff1a;正在努力的99年公司职员。 &#x1f44a;宣言&#xff1a;人生就是B&#xff08;birth&#xff09;和D&#xff08;death&#xff09;之间的C&#xff08;choise&#xff09;&#xff0c;做好每一个选择。 &#x1f64f;创作不易&#xff0c;…

加速生成nlp分类任务的数据(voc t voc)

例如 ABCD 生成A01B B01C A02C A03D。。。。。。。。。 from multiprocessing import Process, Manager, freeze_supportdef gen_data(i,d,d_list,data):for j,dj in enumerate(data[i1:]):# print(d,str(j1).zfill(15),dj)d_list.append([d,str(j1),dj])if __name__ __main…

STM32MP157驱动开发——按键驱动(休眠与唤醒)

文章目录 “休眠-唤醒”机制&#xff1a;APP执行过程内核函数休眠函数唤醒函数 休眠与唤醒方式的按键驱动程序(stm32mp157)驱动程序框架button_test.cgpio_key_drv.cMakefile修改设备树文件编译测试 “休眠-唤醒”机制&#xff1a; 当应用程序必须等待某个事件发生&#xff0c…

docker - 学习笔记

一、简介 1.1 相关地址 Docker是基于Go语言开发的官网&#xff1a;https://www.docker.com/官方文档&#xff1a;https://docs.docker.com/仓库地址&#xff1a;https://hub.docker.com/ 1.2 虚拟化技术和容器化技术对比 1.2.1 虚拟化技术的缺点 资源占用十分多冗余步骤多启…

vue 中断请求

1 背景&#xff1a;针对一些请求时间较长&#xff0c;组件销毁后即中断请求&#xff1b; 2 方法&#xff1a; data(){return {//用于取消请求abortController:new AbortController(), } }, created(){//请求接口this.groundAcquisition(); }, beforeDestroy(){//中断请求this.…

网安高级笔记1

html实体编码 HTML实体编码&#xff0c;格式 以&符号开头&#xff0c;以;分号结尾的 HTML 中的预留字符必须被替换为字符实体 在 HTML 中不能使用小于号&#xff08;<&#xff09;和大于号&#xff08;>&#xff09;&#xff0c;这是因为浏览器会误认为它们是…

Python内置函数系统学习(2)——数据转换与计算(详细语法参考 + 参数说明 + 具体示例),详解max()函数实例 | 编程实现当前内存使用情况的监控

才识是岁月的冠冕&#xff0c;正如思念是我们共同的时光。 【Neo4j Python】基于知识图谱的电影问答系统&#xff08;含问题记录与解决&#xff09;附&#xff1a;源代码&#xff08;含Bug解决&#xff09;【Neo4j 知识图谱】图形化数据库基本操作: 创建节点与关系、添加属性…

了解Unity编辑器之组件篇Scripts(六)

Scripts&#xff1a;有Unity提供的一些脚本插件&#xff08;自己新建的脚本也会出现在里面&#xff09; 一、TMPro&#xff1a;有一些与文字显示和排版相关的脚本 1.TextContainer&#xff08;文本容器&#xff09;&#xff1a;TextContainer 是一个内容框&#xff0c;用于定…

5分钟掌握接口自动化测试,4个知识点简单易学!

一. 什么是接口测试 接口测试是一种软件测试方法&#xff0c;用于验证不同软件组件之间的通信接口是否按预期工作。在接口测试中&#xff0c;测试人员会发送请求并检查接收到的响应&#xff0c;以确保接口在不同场景下都能正常工作。 就工具而言&#xff0c;常见的测试工具有…

代码随想录-108-背包问题

目录 前言思路3. 算法实现4. 算法坑点 前言 我在刷卡哥的“代码随想录”&#xff0c;自己的总结笔记均会放在“算法刷题-代码随想录”该专栏下。 代码随想录此题链接 思路 前提&#xff0c;当前的物品有i1个&#xff0c;编号为0~i&#xff0c;重量weight和价值value数组如下…