使用的是elasticsearch 6.2.2
mapping.json
{ "mappings": { "prod_resource": { "properties": { "id": { "type": "text", "fielddata": true }, "name_en": { "type": "text", "analyzer": "standard" }, "name_cn": { "type": "text" }, "address_area": { "type": "text", "analyzer": "pinyin_analyzer", "fields": { "content": { "type": "keyword", "store": false } } }, "state_name": { "type": "text", "fields": { "content":{ "type": "keyword", "store": false } } }, "province_name": { "type": "text", "fields": { "content":{ "type": "keyword", "store": false } } }, "city_name": { "type": "text", "fields": { "content":{ "type": "keyword", "store": false } } }, "county_name": { "type": "text", "fields": { "content":{ "type": "keyword", "store": false } } }, "address_cn": { "type": "text" }, "detail_content": { "type": "text" }, "address_en": { "type": "text", "analyzer": "standard" }, "create_date": { "type": "date", "format": "yyy-MM-dd HH:mm:ss" }, "create_by": { "type": "keyword", "store": false } } } }, "settings": { "refresh_interval": "5s", "number_of_shards" : 2, "index": { "analysis": { "analyzer": { "default": { "char_filter" : ["tsconvert"], "tokenizer": "ik_max_word", "filter": ["pinyin_first_letter_and_full_pinyin_filter"] }, "default_search": { "char_filter" : ["tsconvert"], "tokenizer": "ik_max_word", "filter": ["pinyin_first_letter_and_full_pinyin_filter"] }, "pinyin_analyzer": { "char_filter" : ["tsconvert"], "tokenizer": "ik_max_word", "filter": ["pinyin_first_letter_and_full_pinyin_filter"] }, "han_analyzer": { "char_filter" : ["tsconvert"], "tokenizer": "ik_max_word" } }, "tokenizer": { "my_pinyin": { "type" : "pinyin", "keep_separate_first_letter" : true, "keep_full_pinyin" : true, "keep_original" : true, "limit_first_letter_length" : 16, "lowercase" : true, "remove_duplicated_term" : true }, "tsconvert": { "type": "stconvert", "delimiter": "#", "keep_both": false, "convert_type": "t2s" } }, "char_filter": { "tsconvert": { "type": "stconvert", "convert_type": "t2s" } }, "filter": { "edge_ngram_filter": { "type": "edge_ngram", "min_gram": 1, "max_gram": 50 }, "pinyin_first_letter_and_full_pinyin_filter" : { "type" : "pinyin", "keep_separate_first_letter" : false, "keep_full_pinyin" : true, "keep_original" : true, "limit_first_letter_length" : 16, "lowercase" : true, "remove_duplicated_term" : true } } } } } }
分词器名字default 代表处理收录数据默认使用的分词器,主要是替代系统默认。
分词器名字default_search,代表搜索文本默认使用的分词器,主要是替代系统
数据录入顺序
input------->CharacterFilters------------>tokenizer----------->tokenFilters-------->output
字符过滤器(Character filters) 比如繁体转简体,html格式转纯文本
分词器 (Tokenization) 对文本分词
标记过滤器(Token filters) 对分词后的关键字再处理,比如过滤停用词,提取关键字(中文词组)的拼音
搜索方式
主要是两种query和filter。前者会对搜索关键字分词处理,然后再去文档中匹配,其中还会计算相似度,相关度等;后者只对搜索关键字做匹配,不对输入的搜索关键字做任何处理,并对搜索关键字设计了缓存。
term是代表完全匹配,也就是精确查询,搜索前不会再对搜索词进行分词,所以我们的搜索词必须是文档分词集合中的一个。比如说我们要找标题为北京奥运的所有文档
match查询会先对搜索词进行分词,分词完毕后再逐个对分词结果进行匹配,
match_phrase
搜索方式和match类似,先对搜索词建立索引,并要求所有分词必须在文档中出现(像不像operator为and的match查询),除此之外,还必须满足分词在文档中出现的顺序和搜索词中一致且各搜索词之间必须紧邻,因此match_phrase也可以叫做紧邻搜索。
slop参数。该参数可以指定相隔多少个词仍被算作匹配成功。
完全匹配的文档占的评分比较高,则需要使用best_fields
越多字段匹配的文档评分越高,就要使用most_fields
相关推荐
Elasticsearch入门(五):Elasticsearch基础概念与基本操作 文章中所用用到的 http 文件,包括 es.http和es_book.http
Elasticsearch入门篇(一、基本概念)1
内容涵盖 ES安装、ES基本概念和数据类型、Mysql 到 ES 数据同步、SpringBoot 操作 ES。可初步认识ES,理解ES的一些适用场景,以及如何使用springboot来同ES进行交互 1、ElasticSearch概念和适用场景 2、Elastic...
Elasticsearch基本概念、内部底层原理、应用场景的介绍
分享一套完整版视频课程——分布式搜索...Elasticsearch概念 Elasticsearch安装和插件介绍 Elasticsearch基本使用和简单查询 Elasticsearch的Java客户端使用 Elasticsearch索引和Mapping Elasticsearch搜索深入 Elastic
4、ElasticSearch架构图以及基本概念(术语) 1、es概述 2、ES架构模块 3、Elasticsearch核心概念 五、ES的集群部署 六、node01服务器安装elasticsearch-head插件 1 、node01机器安装nodejs 2 、node01机器安装 ...
Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是...本文涉及Elasticsearch的一些基本概念以及操作。还重点总结了安装过程中遇到的一些问题以及解决方案。
, 《ElasticSearch:可扩展的开源弹性搜索解决方案》内容丰富、全面,基本概念的讲解细致、深入浅出。各种功能和命令的介绍,都配以实践操作和详细的代码。《ElasticSearch:可扩展的开源弹性搜索解决方案》是初学者...
基本概念 Node 和 Cluster Elasticsearch 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elasticsearch 实例。 单个 Elasticsearch 实例称为一个节点(Node)。一组节点构成一个集群...
分布式搜索elasticsearch几个概念解析 3 分布式搜索elasticsearch单机与服务器环境搭建 4 分布式搜索elasticsearch中文分词集成 5 分布式搜索elasticsearch配置文件详解 8 分布式搜索elasticsearch安装步骤详解 12 ...
本书首先对Elasticsearch 作一般性介绍,其中包括如何启动和运行Elasticsearch、Elasticsearch 的基本概念,以及如何以最基本的方式索引和搜索数据。接下来,本书讨论了Querydsl 查询语言,通过它可以创建复杂的查询...
详细信息请参考:http://blog.csdn.net/u013985004/article/details/40303535
安卓 OpenGL ES 2.0 完全入门(一):基本概念和 hello world
Docker 容器中运行 Elasticsearch,Kibana 和 CerebroLogstash 安装与导入数据第 3 章:Elasticsearch 入门基本概念(1):索引,文档和 REST API基本概念(2):节点,集群,分片及副本文档的基本 CRUD 与批量操作...
《elasticSearch入门指南》 1、es是什么?基本概念 2、安装、集群探索 3、操作数据 4、2.0主要变化
文章目录ElasticSearch 学习笔记基本概念倒排索引timeout 超时Query 与 filter 的区别query全文检索短语检索高亮检索分组检索平均值的检索区间检索批量查询查询排序查询缓存文档替换与删除ES路由查询路由分词Mapping...
static while asm _cs _ds _es _ss cdecl far huge interrupt near pascal class public private catch protected delete new template friend this inline throw try operator virtual overload(现不用) 3.标识符...
在这篇资源中,我们将详细介绍如何使用DSL...最后,我们将分享一些实用技巧和最佳实践,帮助您充分发挥DSL在Elasticsearch中的优势。我们将探讨性能优化、查询调试和索引优化等关键主题,以提升查询效率和搜索准确性。
OpenMAX的整体架构以及codec、YUV的基本概念 包含了ES、PES、TS、demux等概念 包含了H264码流的一些基本概念,如VBR / CBR / FMO / RS / NAL等
一、基本概念 cluster 整个elasticsearch 默认就是集群状态,整个集群是一份完整、互备的数据。 node 集群中的一个节点,一般只一个进程就是一个node shard 分片,即使是一个节点中的数据也会通过...