- 博客(68)
- 收藏
- 关注
原创 集群脑裂问题
master eligible节点的作用是什么?参与集群选主主节点可以管理集群状态、管理分片信息、处理创建和删除索引库的请求data节点的作用是什么?数据的CRUDcoordinator节点的作用是什么?路由请求到其它节点合并查询到的结果,返回给用户创建ES集群-CSDN博客kibana可以监控es集群,不过新版本需要依赖es的x-pack 功能,配置比较复杂。输入你的elasticsearch的任意节点的。不过要求你的Linux虚拟机至少有。es运行需要修改一些linux。
2024-10-27 21:07:30
1176
原创 创建ES集群
kibana可以监控es集群,不过新版本需要依赖es的x-pack 功能,配置比较复杂。输入你的elasticsearch的任意节点的。不过要求你的Linux虚拟机至少有。es运行需要修改一些linux。绿色的条,代表集群处于绿色。
2024-10-27 21:05:27
439
原创 elasticsearch正向索引和倒排索引
什么是文档和词条?每一条数据就是一个文档对文档中的内容分词,得到的词语就是词条什么是正向索引?基于文档id创建索引。查询词条时必须先找到文档,而后判断是否包含词条什么是倒排索引?对文档内容分词,对词条创建索引,并记录词条所在文档的信息。查询时先根据词条查询到文档id,而后获取到文档。
2024-10-26 14:21:32
994
原创 了解elasticsearch
什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API。
2024-10-26 14:19:07
706
原创 实现酒店搜索框自动补全
现在,hotel索引库还没有设置拼音分词器,需要修改索引库中的配置。但是知道索引库是无法修改的,只能删除然后重新创建。另外,需要添加一个字段,用来做自动补全,将brand、suggestion、city等都放进去,作为自动补全的提示。修改hotel索引库结构,设置自定义拼音分词器修改索引库的name、all字段,使用自定义分词器索引库添加一个新字段suggestion,类型为completion类型,使用自定义的分词器。
2024-10-24 19:33:15
574
原创 自动补全拼音分词器和自定义分词器
默认的拼音分词器会将每个汉字单独分为拼音,而我们希望的是每个词条形成一组拼音,需要对拼音分词器做个性化定制,形成自定义分词器。elasticsearch中分词器(analyzer)在tokenizer之前对文本进行处理。例如删除字符、替换字符将文本按照一定的规则切割成词条(term)。例如keyword,就是不分词;还有ik_smart将tokenizer输出的词条做进一步处理。例如大小写转换、同义词处理、拼音处理等文档分词时会依次由这三部分来处理文档:PUT /test。
2024-10-23 09:53:21
363
原创 数据聚合RestAPI实现聚合
目前,页面的城市列表、星级列表、品牌列表都是写死的,并不会随着搜索结果的变化而变化。但是用户搜索条件改变时,搜索结果会跟着变化。使用聚合功能,利用Bucket聚合,对搜索结果中的文档基于品牌分组、基于城市分组,就能得知包含哪些品牌、哪些城市了。也就是说,搜索结果中包含哪些城市,页面就应该列出哪些城市;搜索结果中包含哪些品牌,页面就应该列出哪些品牌。如何得知搜索结果中包含哪些品牌?聚合的结果也与查询结果不同,API也比较特殊。,也就是说聚合的限定条件跟搜索文档的条件一致。因为是对搜索结果聚合,因此聚合是。
2024-10-23 09:50:57
750
原创 数据聚合的种类和DSL实现聚合
aggs代表聚合,与query同级,此时query的作用是?限定聚合的的文档范围聚合名称聚合类型聚合字段size:指定聚合结果数量order:指定聚合结果排序方式field:指定聚合字段。
2024-10-22 07:15:00
1311
原创 酒店竞价排名
因此需要给这些酒店添加一个标记,这样在过滤条件中就可以。修改cn.test.hotel.service.impl。接下来我们就要修改查询条件了。给cn.test.hotel.pojo。可以将之前写的boolean查询作为。条件放到query中,接下来就是添加。类中的buildBasicQuery。那怎样才能让指定的酒店排名置顶呢?所以原来的代码依然可以沿用。算分高了,自然排名也就高了。包下的HotelService。让指定的酒店在搜索结果中。页面会给指定的酒店添加。
2024-10-21 11:22:24
539
原创 我周边的酒店
我们只讲了普通字段排序对应的java写法。排序完成后,页面还要获取我附近每个酒店的具体。修改在cn.test.hotel.pojo。也就是排序的距离,然后放到响应结果中。发现确实可以实现对我附近酒店的排序,在酒店列表页的右侧,有一个小地图,因此,我们在结果解析阶段。
2024-10-21 11:20:32
335
原创 酒店搜索和分页
实体类有两个,一个是前端的请求参数实体,一个是服务端应该返回的响应结果实体。1)请求参数"key": "搜索关键字","page": 1,"size": 3,因此,我们在cn.test.hotel.pojo@Data2)返回值分页查询,需要返回分页结果PageResult,total:总条数:当前页的数据因此,我们在cn.test.hotel.pojo@Data请求方式:Post请求路径:/hotel/list请求参数:对象,类型为RequestParam。
2024-10-20 09:23:38
813
原创 RestClient查询文档match查询、精确查询和布尔查询
可以看到,API与其它查询的差别同样是在查询条件的构建,而结果解析代码则完全一致,可以。因此,Java代码上的。
2024-10-19 07:24:08
475
原创 RestClient查询文档快速入门
1)准备Request对象2)准备请求参数3)发起请求4)解析响应创建SearchRequest对象准备Request.source(),也就是DSL。QueryBuilders来构建查询条件传入Request.source() 的 query() 方法发送请求,得到结果解析结果(参考JSON结果,从外到内,逐层解析)
2024-10-18 12:00:00
548
原创 DSL搜索结果处理
查询的DSL是一个大的JSON对象,query:查询条件from和size:分页条件sort:排序条件highlight:高亮条件。
2024-10-18 08:00:00
1305
原创 DSL复合查询
复合查询可以将其它简单查询组合起来,实现更复杂的搜索逻辑。fuction score:算分函数查询,可以控制文档相关性算分,控制文档排名bool query:布尔查询,利用逻辑关系组合多个其它的查询,实现复杂搜索。
2024-10-17 11:45:00
985
原创 DSL地理坐标查询
所谓的地理坐标查询,其实就是根据经纬度查询常见的使用场景包括:附近的酒店:附近的车:矩形范围查询,也就是geo_bounding_box查询,查询坐标落在某个矩形范围的所有文档:查询时,需要指定矩形的左上、右下两个点的坐标,然后画出一个矩形,落在该矩形内的都是符合条件的点。语法如下:这种并不符合“附近的人”这样的需求,所以我们就不做了。附近查询,也叫做距离查询(geo_distance):查询到指定中心点小于某个距离值的所有文档。换句话来说,在地图上找一个点作为圆心,以指定距离为半径,画一个圆,落在圆
2024-10-17 08:00:00
288
原创 DSL精准查询
精确查询一般是查找keyword、数值、日期、boolean等类型字段。所以不会对搜索条件分词。term:根据词条精确值查询range:根据值的范围查询精确查询常见的有哪些?根据词条精确匹配,一般搜索keyword类型、数值类型、布尔类型、日期类型字段根据数值范围查询,可以是数值、日期的范围。
2024-10-16 11:45:00
228
原创 诺贝尔物理学奖:机器学习与神经网络的时代
2024年诺贝尔物理学奖的颁发,无疑是对机器学习与神经网络研究者努力的认可。这不仅是一个奖项,更是新的科研方向的起点。随着科技不断进步,我们将继续深入探讨机器学习在各个领域的潜力与挑战,期待它为人类社会带来更大的变革与进步。在这个充满可能性的时代,科学探索的旅程才刚刚开始。
2024-10-16 08:09:53
601
原创 DSL查询分类和全文检索查询
match和multi_match的区别是什么?match:根据一个字段查询multi_match:根据多个字段查询,参与查询字段越多,查询性能越差。
2024-10-16 07:30:56
1339
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人