spring-boot与elasticsearch整合时如何定义内嵌对象的分词策略

@Document(indexName = "logmodel", type = "logs", shards = 4, replicas = 1,indexStoreType="fs", refreshInterval = "-1")
public class LogES {
@Id
private String id;
private String itcode;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String ip;
private String ad_type;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String telephone;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String mobile;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String email;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String firstname;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String firstnameen;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String boss;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String position;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String organization;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String country;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String cityname;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String givenname;
private String employeeNumber;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String employeetype;
private boolean ismanager;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String bossname;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String bigboss;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String bigbossname;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String enterprise;
@JsonFormat (shape = JsonFormat.Shape.STRING, pattern ="yyyy-MM-dd'T'hh:mm:ss.SSS'Z'")
private Date dt;
private String dev_platform;
private String app_version;
private String dev_version;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String dev_info;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String dev_imei;
@Field(type = FieldType.String,index = FieldIndex.not_analyzed)
private String func;
@Field( type = FieldType.Auto)
private Object content;
private CochatResponseEntity cochatResponseEntity;
比如怎么设置content对象内部字段的分词策略,如:@Field(type = FieldType.String,index = FieldIndex.not_analyzed)

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
[ElasticSearch]嵌套对象之嵌套类型
nested类型是一种特殊的对象object数据类型(specialised version of the object datatype ),允许对象数组彼此独立地进行索引和查询。1. 对象数组如何扁平化内部对象object字段的数组不能像我们所期望的那样工作。 Lucene没有内部对象的概念,所以Elasticsearch将对象层次结构扁平化为一个字段名称和值的简单列表。 例如,以下文件:cu
elasticsearch复合数据类型——数组,对象和嵌套
在ElasticSearch中,使用JSON结构来存储数据,一个Key/Value对是JSON的一个字段,而Value可以是基础数据类型,也可以是数组,文档(也叫对象),或文档数组,因此,每个JSON文档都内在地具有层次结构。复合数据类型是指数组类型,对象类型和嵌套类型,各个类型的特点分别是: 数组字段是指一个字段有多个值,每个值都是该数组字段的一个元素;元素的类型可以是基础类型,也可以是文档类...
elasticsearch分词聚合查询demo
我们在通过elasticsearch查询text类型的字段时,我们使用aggs进行聚合某个text类型field。这时elasticsearch会自动进行分词将分词后的结果进行聚合。获取每一个分词出现在文档的文档个数。注意:是文档的次数不是文档中分词出现的次数,也就是说即便某个词在某个文档中出现了多次,但是只记录这个词的doc_count次数为1. 查询语句例子: GET voice*/_se
Elasticsearch分词索引机制
Elasticsearch分词索引机制
基础33 ElasticSearch 手动建立和修改mapping 及 定制string类型数据是否分词
基础33 ElasticSearch 手动建立和修改mapping 及 定制string类型数据是否分词分布式实战(干货)spring cloud 实战(干货)mybatis 实战(干货)spring boot 实战(干货)React 入门实战(干货)构建中小型互联网企业架构(干货)python 学习持续更新ElasticSearch 笔记概述1、如何建立索引analyzed not_analyz...
ElasticSearch各种查询对象Query的使用
ElasticSearch各种查询对象Query的使用 ElasticSearch提供QueryBuilders.queryStringQuery(要搜索的内容)查询方法,对所有字段进行分词查询。 分词查询SearchResponse searchResponse = client.prepareSearch("blog1") .setTypes("article").s
Elasticsearch 使用中文分词
本文演示了如何使用IK Analysis 插件来实现在 Elasticsearch 中的中文分词功能。
ElasticSearch官方默认的分词插件
elasticsearch官方默认的分词插件,对中文分词效果不理想。  比如,我现在,拿个具体实例来展现下,验证为什么,es官网提供的分词插件对中文分词而言,效果差。总结     如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题——中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组。     这是因为使...
elasticsearch全局检索多分词器匹配
在es全局检索的需求中,需要进行多个分词器同时匹配关键词,例如: 在商品名称、品牌名称和类目名称中匹配含有“西”关键字的查询结果,当一个字段匹配时即加入查询结果 用sql语句表达为:select  *  from  item where item_name like '%西%' or brand_name like '%西%' or c_name like '%西%' 其中item_name
Elasticsearch如何实现筛选功能(设置字段不分词和聚合操作)
0 起因 中文分词中比较常用的分词器是es-ik,建立索引的方式如下: 这里我们为index personList新建了两个字段:name和district,注意索引名称必须是小写 (以下格式都是在kibana上做的) PUT /person_list { "mappings": { "info": { "properties": { "name": { ...
30_ElasticSearch IK分词器配置文件 以及自定义词库
ElasticSearch IK分词器配置文件 以及自定义词库更多干货分布式实战(干货)spring cloud 实战(干货)mybatis 实战(干货)spring boot 实战(干货)React 入门实战(干货)构建中小型互联网企业架构(干货)python 学习持续更新ElasticSearch 笔记一、概述ik配置文件如何自己建立词库自己建立停用词库(不想去建立索引)二、ik配置文件ik配...
Elasticsearch全文检索:根据关键词对全文查询检索,关键词也分词处理
之前看过了solr的全文检索工具,原理比较简单,理解起来也快;这次我们项目上要求用Elasticsearch实现全文检索,据说这个插件功能更厉害,但是也没有具体研究过;这里就省略了es的部署过程和集成springboot的方法了,直接附上我的后台查询代码; import com.pridecn.file.domain.EsFileInfo; import com.pridecn.file.s...
elasticsearch 插件开发-自定义分词方法
elasticsearch 插件开发参考文档 官方文档,这个有点老 https://www.elastic.co/blog/found-writing-a-plugin 这是一个老外写的,也有点老,只写了个一个过滤器,最新版6.4.1不支持,不过改一下项目结构就可以了。 https://amsterdam.luminis.eu/2017/01/31/creating-elasticsearch-p...
ElasticSearch速学 - 全文检索、分词器、过滤器
今天我们要来学习ElasticSearch的搜索方面的api,在开始之前,为了便于演示,我们先要创建一些索引数据。 Search APIs官方文档: https://www.elastic.co/guide/en/elasticsearch/reference/5.3/search.html1、按name搜索,搜索jackGET blog/users/_search?q=name:jack结果如
Elasticsearch中文分词研究
一、ES分析器简介ES是一个实时搜索与数据分析引擎,为了完成搜索功能,必须对原始数据进行分析、拆解,以建立索引,从而实现搜索功能;ES对数据分析、拆解过程如下:首先,将一块文本分成适合于倒排索引的独立的 词条;之后,将这些词条统一化为标准格式以提高它们的“可搜索性”,或者 recall实际执行上面分析工作的,既是ES的分析器;ES 分析器实际包含三部分功能:1.字符过滤器:字符过滤器是用来整理一个...
Elasticsearch电商搜索分词效果调优
分词是搜索中非常核心的一步,下面通过一个案例介绍在没有专业分词系统的情况下,如何做分词性能的调优。
Elasticsearch 之(10) 倒排索引核心原理、分词器、精确匹配与全文搜索
倒排索引核心原理doc1:I really liked my small dogs, and I think my mom also liked them.doc2:He never liked any dogs, so I hope that my mom will not expect me to liked him.分词,初步的倒排索引的建立word doc1 doc2I ...
ElasticSearch教程——自定义分词器
ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 分词器 Elasticsearch中,内置了很多分词器(analyzers),例如standard (标准分词器)、english(英文分词)和chinese (中文分词),默认的是standard, standard tokenizer:以单词边界进行切分 standard token filter:什么都不做...
ElasticSearch学习(十一)在Java应用中实现聚合查询、query string查询
//聚合查询 @Test public void test20() throws Exception { //指定ES集群 Settings settings = Settings.builder().put("cluster.name", "my-application").build(); //创建访问ES服务器的客户...
Elasticsearch 之(12)query string的分词,修改分词器以及自定义分词器
query string分词query string必须以和index建立时相同的analyzer进行分词query string对exact value和full text的区别对待 (第10节中详细阐述过)date:exact value_all:full text比如我们有一个document,其中有一个field,包含的value是:hello you and me,建立倒排索引我们要搜索...
ElasticSearch学习笔记之九 复杂数据类型和嵌套对象
ElasticSearch学习笔记之九 复杂数据类型和嵌套对象复杂数据类型空域数组域多层级对象内部对象的映射内部对象的索引内部对象数组嵌套对象嵌套对象映射 复杂数据类型 除了前面说到的简单数据类型,Elasticsearch还支持JSON 的null ,数组,和对象. 空域 字段取值可以为空,当然,数组也可以为空。 然而,在 Lucene 中是不能存储 null 值的,所以我们认为存在 null ...
Elasticsearch 5.2.1 创建索引-自定义分词器
开发语言:JAVA 解决问题:ES 5.2.1默认使用的 standard 分词器,该分词器是单个汉字进行分词的,而需求使用二元分词,故使用ngram 实现二元分词 通过mapping 将分词器 与要分词的字段进行映射 示例代码: // DoubleAnalyzer 为自定义的fe /** * 创建一个索引 * @param indexName 索引名 */
elasticsearch教程--中文分词器作用和使用
目录 概述 环境准备 认识中文分词器 常用的中文分词器 IK Analyzer hanlp中文分词器 彩蛋 概述         上一篇博文记录了elasticsearch插件安装和管理, 在地大物博的祖国使用es,不得不考虑中文分词器,es内置的分词器对中文分词的支持用惨不忍睹来形容不为过,看这篇博文之前,建议先看一下博文elasticsearch...
ElasticSearch创建索引(中文分词、拼音搜索)
    我这里用到的创建索引主要用来进行中文分词搜索和拼音搜索功能,创建语句如下: 1、创建索引: PUT /lzjsyd/ { "index" : { "analysis" : { "analyzer" : { "pinyin_analyzer" : { "token...
es聚合统计结果的被分词问题
最近公司做电商项目,需要用到搜索引擎,选择的elasticsearch做站内搜索,其中聚合统计商品分类的时候遇到聚合结果被分词的现象特定记录一下: es聚合被分词的现象一般是6.x版本的(以前的版本没用过) es6.x后对于text类型字段需要聚合查询(类似group by)对数据进行统计分析,需要设置fielddata为true 和fields字段才能进行聚合操作。并且将fields的typ...
ElasticSearch实战三(分词和映射)
    ElasticSearch的文档映射机制(mapping)用于进行字段的类型确认,将每一个字段匹配为一种确定的数据类型。 1  ES字段类型     ① 基本字段类型     字符串:text、keyword         text默认为全文文本,keyword默认为非全文文本     数字:long、integer、short、double、float     日期:dat...
elasticsearch-手动设置_mapping中字段类型及分词器-ES5.X与ES6.X区别
【问题描述】:手动设置mapping,给指定字段设置是否进行分词,以及分词器类型。环境信息:学习elasticsearch时,案例使用的是5.x版本,自己本地使用的是6.x版本。案例如下,5.x版本编辑:PUT /website{  "mappings": {    "article": {      "properties": {        "my_field1": {          "...
elasticsearch 查看分词效果
ElasticSearch查看分词结果
 如下:GET googleplay/app/com.pearlabyss.blackdesertm/_termvectors?fields=name_krGET your_index/your_type/your_id/_termvectors?fields=your_fieldsName
elasticsearch 局部更新中对象类型的bug
在我的项目中需要定期将es中的客户数据进行更新,部分数据是object类型也就是json类型,因为客户数据中不同的字段的数据类型是不一样的,而且不是每次都更新所有的字段,所以采用了es局部更新中的方法:doc方法,举例如下: 但是这种方式对于数据类型为object的字段没有作用,如果一个字段比如field1={"a":"1", "b": "2"},如果该字段新值为{"a": "1"}...
ElasticSearch嵌套模型基本操作
上篇介绍了ES嵌套模型使用场景和优缺点,本篇接着介绍关于ES嵌套的索引一些基本的操作,包括插入,追加,更新,删除,查询单独放下一篇文章介绍。 首先来看下如何添加数据,上篇提到了我们项目中有三个实体类分别是User,Quest,Kp。其关系是一对多对多,User里面有个List字段可以包含多个Quest对象而每一个Quest对象又包含一个List字段可以包含多个Kp实体,每个实体类本身又可以拥
elasticsearch设置默认分词器和字段指定分词器
PUT news { "settings": { "index.analysis.analyzer.default.type": "ik_max_word" } }, "mappings": { "_doc": { "properties": { "tags": { "type
elasticsearch 同级嵌套对象多条件查询
查询url配置:http://10.10.10.10:0000/_index/_type  使用elasticsearch插件试用http://10.10.10.10:0000/_index可以正常查询,谷歌插件Postman也可以查询es数据.url配置http://10.10.10.10:0000/_index/_search 数据格式如下: { "_index": "test", "_t...
Elasticsearch 嵌套对象和父子对象
1、嵌套对象和父子对象存在的意义   ##用例子说话:索引1条数据,注意comments字段。 PUT /my_index/blogpost/1 {   "title": "Nest eggs",   "body":  "Making your money work...",   "tags":  [ "cash", "shares" ],   "comments": [   
Elasticsearch之中文分词器插件es-ik的自定义词库
前提,Elasticsearch之中文分词器插件es-ik     针对一些特殊的词语在分词的时候也需要能够识别  有人会问,那么,例如:          如果我想根据自己的本家姓氏来查询,如zhouls,姓氏“周”。              如果我想根据自己的公司名称来查询,如“好记性不如烂笔头感叹号博客园”           如果我想根据自己公司里的产品名称来查询,如“”        ...
Elasticsearch5.x安装IK分词器以及使用
Elasticsearch中,内置了很多分词器(analyzers),例如standard (标准分词器)、english (英文分词)和chinese (中文分词)。其中standard 就是无脑的一个一个词(汉字)切分,所以适用范围广,但是精准度低;english 对英文更加智能,可以识别单数负数,大小写,过滤stopwords(例如“the”这个词)等;chinese 效果很差; 1、el...
Elasticsearch之插件es ik配置自定义中文分词词典
1. 首先需要安装好ik 可以参考本人blog http://blog.csdn.net/qq_30581017/article/details/79533240 或者github地址下载对应版本的ik: https://github.com/medcl/elasticsearch-analysis-ik 2. 配置自定义中文分词词典 如果宝宝们已经安装好ik,在es中测试分词成功...
elasticsearch 安装ik分词器及自定义分词库的
一.es 安装ik分词器(6.0.0)      1.场景描述:Elasticsearch中,内置了很多分词器(analyzers),例如standard (标准分词器)、english (英文分词)和chinese (中文分词)。其中standard 就是无脑的一个一个词(汉字)切分,所以适用范围广,但是精准度低;english 对英文更加智能,可以识别单数负数,大小写,过滤stopwords(...
ElasticSearch简单搜索程序+分词(中文和拼音)
es的注意事项:不能用root用户启动。                         如果是虚拟机启动使用,在安装5.0版本以上,需要修改一些参数。                         es用户需要对es文件夹有权限。                         修改配置文件,记得检查日志和数据路径。                          记得给es端口开防火墙,或...
Elasticsearch 的 NGram 分词器处理模糊匹配
接到一个任务:用 Elasticsearch 实现搜索银行支行名称的功能。大概就是用户输入一截支行名称或拼音首字母,返回相应的支行名称。比如,用户输入"工行"或者"gh",我需要返回"工行XXX分行"类似这样的结果。我心里嘀咕着:数据库不是支持通配符查询吗?为什么不直接用数据库查询?说归说,但是任务还是要完成的。之前有在网上看过一篇文章,主要就是说用 Elasticsearch 处理通配符查询不太...
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python深度学习分词 java 深度学习分词