Java
文章平均质量分 89
Mr.zzzzzz
这个作者很懒,什么都没留下…
展开
-
ElasticSearch-IK分词器热更新(源码)
版本说明 ES版本 IK版本 Mysql版本 v7.6 v7.6.1 5.7 IK分词器源码下载:https://github.com/medcl/elasticsearch-analysis-ik1. 修改maven依赖es版本号我个人打开IK源码后,打开pom.xml文件,发现ES的版本并不是7.6.1,修改elasticsearch版本号为7.6.1。如果没有遇到可忽略。<elasticsearch.version>7.6.1</e原创 2022-04-13 17:57:16 · 2914 阅读 · 1 评论 -
ElasticSearch高级功能的使用(模版查询、地理位置查询等)
一、搜索模板Search Template搜索模板,search template,高级功能,就可以将我们的一些搜索进行模板化,每次执行这个搜索直接调用模板,传入一些参数就可以了。类似于mysql的存储过程。1.1 模版入门-固定参数模版这种平常我们一般不会使用,不可重复利用1.1.1参数替换# cars为索引库;template代表模版搜索GET /cars/_search/template{ "source": { "query": { "mat..原创 2022-04-12 18:57:33 · 2385 阅读 · 0 评论 -
Java API操作ES
1. 导入依赖<dependencies> <!-- ES的高阶的客户端API --> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>.原创 2022-04-11 19:07:24 · 6993 阅读 · 1 评论 -
ElasticSearch进阶-数据建模
一、nested object1、案例:设计一个用户document数据类型,其中包含一个地址数据的数组地址中的字段可能包含住址、公司地址等多个地址。PUT /user_index{ "mappings": { "properties": { "login_name": { "type": "keyword" }, "age": { "type": "short" }, "address"原创 2022-04-11 17:57:25 · 641 阅读 · 0 评论 -
ElasticSearch进阶-集群脑裂问题
1.集群脑裂是什么?所谓脑裂问题,就是同一个集群中的不同节点,对于集群的状态有了不一样的理解,比如集群中存在两个master,正常情况下我们集群中只能有一个master节点。2.集群脑裂场景举例如果因为网络的故障,导致一个集群被划分成了两片,每片都有多个node,以及一个master,那么集群中就出现了两个master了。但是因为master是集群中非常重要的一个角色,主宰了集群状态的维护,以及shard的分配,因此如果有两个master,可能会导致数据异常。如:节点...原创 2022-04-07 16:42:45 · 4238 阅读 · 0 评论 -
ElasticSearch底层相关原理
一、ElasticSearch文档分值_score计算底层原理查询的时候会对搜索到的文档进行打分(filter方式不会打分)。1.boolean model根据用户的query条件,先过滤出包含指定term的doc,这一步是不会打分的。2.relevance score算法[ˈreləvəns] 相关度简单来说,就是计算出,一个索引中的文本,与搜索文本,他们之间的关联匹配程度Elasticsearch使用的是 term freque...原创 2022-03-31 23:20:43 · 2762 阅读 · 1 评论 -
ElasticSearch集群架构原理
match查询keyword字段:match将查询数据分词后的信息,需要和keyword字段完全匹配,这条记录才会被查到。_seq_no:是跟着索引库走的,如果操作一个文档,他的version和seq_no都会变化,如果操作另一个文档,则另个文档的seq_no会紧接着上一次的变化进行变化,递增。类似于数据库的id。...原创 2022-03-29 15:57:19 · 3727 阅读 · 2 评论 -
ElasticSearch语法整理-DSL语言高级查询
Domain Specific Language 领域专用语言DSL由叶子查询子句和复合查询子句两种子句组成。无查询条件无查询条件是查询所有,默认是查询所有的索引库的数据,或者使用match_all表示所有GET /es_db/_doc/_search{ "query":{ "match_all":{} }}有查询条件查询命令GET POST 都可以1、叶子条件查询(单字段查询条件)1.1 模糊匹配match : 通过match关原创 2022-03-29 15:54:41 · 4552 阅读 · 0 评论 -
ElasticSearch核心语法及集群高可用搭建
一、ElasticSearch文档批量操作实现(这里只是批量操作文档,查询文档的操作在后面会补充)1.批量获取文档数据批量获取文档数据是通过_mget的API来实现的(1)在URL中不指定index和type功能说明 : 可以通过ID批量获取不同index和type的数据请求方式:GET请求地址:_mget请求参数:docs : 文档数组参数...原创 2022-03-25 17:52:04 · 1065 阅读 · 0 评论 -
ElasticSearch快速入门实战
一、ElasticSearch简介1.简介创始人是Shay Banon(谢巴农),它是java开发,是凯源的企业级搜索引擎,能够实现实时搜索,特点是稳定、可靠、快速,并且安装使用方便。(内置JDK,不需要再安装JDK了)客户端支持Java、.NET(C#)、PHP、Python、Ruby等主流语言。目前使用es的公司:京东等商城app,今日头条等新闻app,GitHup,携程、去哪儿等旅游app,斗鱼、B站等视频app...es官网:开源搜索:Elasticsearch、ELK Stac原创 2022-03-23 19:02:41 · 2033 阅读 · 1 评论