
搜索引擎-onesearch
文章平均质量分 90
基于elasticsearch,
1. schema xml管理索引结构,包括字段,alias(bean 属性),indexed,store,格式,boost等
2. agg schema xml定义agg
3. getter机制,抓取bean属性值
4. exp/mapping 通用表达式映射为
中间件XL
这个作者很懒,什么都没留下…
展开
-
企业全文搜索-搜索权限,非侵入文档同步,权限同步 ,扩展字段
Es的查询请求最终转换成es dsl,esdsl搜索功能非常丰富,可调参数多,但也很难用,更难复用,onesearch设计装配映射组件支持通用表达式转换esdsl,用户只需编写通用表达式,如,((f1=‘a’or f2=’b’) and f3=‘c’)) 即可实现搜索过滤,类似elasticsearch自身也提供了sql查询功能,大大降低开发难度,同时具备高复用性。同方案1,不同的是,mq作为本地queue持久存储,Channel封装起来,writer不需要依赖mq,数据链路与原生一样,主动获取mq消息。原创 2025-01-10 10:12:12 · 104 阅读 · 0 评论 -
sentinel dashboard改造落地设计&实现解释(一)-分布式fetcher和metrics存储/搜索
微服务是目前java主流架构,微服务架构技术栈有,服务注册中心,网关,熔断限流,服务同学,配置中心等组件,其中,熔断限流主要3个功能特性,限流,熔断,快速失败。Sentinel是阿里开源的熔断限流组件,sentinel dashboard是演示级别,表现在metrics采集是单机版,metrics存储存在内存,不支持分布式,高可用,因此需要改造。此前博文(),介绍分布式改造设计,本系列介绍落地的设计和实现解释。原创 2024-10-12 14:50:45 · 529 阅读 · 0 评论 -
odoo连接器-odoo数据拉取,Java xml-rpc实现(附源码)
背景odoo数据拉取,创建,更新参考官方external api文档External API — Odoo 14.0 文档 术语ORM odoo数据以对象模型呈现,支持one2many,many2one,many2many等对象关联关系Model 可以看作数据表,数据类型XML-RPC odoo使用xml-rpc通信设计模型Client负责连接协议,即xml rpm协议Connector 封装获取数据逻辑QueryRequest 查找请求,...原创 2021-11-03 15:12:41 · 726 阅读 · 1 评论 -
搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(五)-聚合
聚合基于Query结果的统计,执行过程是搜索的一部分,Onesearch支持0代码构建聚合,聚合目前完全在引擎层。原创 2024-09-20 18:34:31 · 550 阅读 · 0 评论 -
搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(四)-搜索
搜索内容比较多,onesearch分成两部分,第一部分,Query构建,其中包括搜索词设置,filter,高亮;第二部分分页和排序。第一部分是映射引擎负责,映射通用表达式为具体引擎的查询(Query)。SearchRequest构建。原创 2024-09-20 17:47:42 · 522 阅读 · 0 评论 -
搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(三)-文档
更新文档的字段,是想一下文档的状态变更,相应更新搜索引擎状态,只需更新该字段,无需整个文档,包括内容重新获取,elasticsearch部分更新功能需要索引source属性设为true,即保留文档json,该功能也可以用于更新扩展属性。批量操作可以融合增删改不同的操作,但在实际操作一般是同类型,没有混合操作,onesearch api设计为同类型操作批量。文档写入操作与构建单个写入请求类似,支持Map,并可识别nested,很方便。文档服务负责写入,包括批量;Id获取文档,删除,批量删除不介绍。原创 2024-09-20 17:28:57 · 287 阅读 · 0 评论 -
搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(二)-索引
分词器,通常索引级分词器可满足要求,不需要每个字段设置,字段设置在put mapping,本组就也可以支持字段的分词器设置,在schema设置相关属性。put mapping定义索引字段属性,类似数据库的表,虽然elasticsearch支持schema free,通常严格定义更符合应用要求,保证类型,格式符合要求。pdm文档索引,包括nested,扩展字段,文档属性扩展,其中_content字段是组件保留字段,支持文本内容。索引服务索引的操作,包括构建,put mapping,alias,更新,删除等。原创 2024-09-20 17:06:22 · 570 阅读 · 0 评论 -
搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(一)-概述
此前的专栏介绍Onesearch1.0和2.0,详情参考4 参考资料,本文解释onesearch 3.0,从Elasticsearch6升级到Elasticsearch8代码实现 ,Elasticsearch8 废弃了high rest client,使用新的ElasticsearchClient,本文重点介绍ElasticsearchClient如何实现onesearch的特性,同时解释onesearch代码实现细节。ElasticsearchClient使用起来3个特点,v1.0 schema管理,0代原创 2024-09-20 16:47:55 · 548 阅读 · 0 评论 -
搜索引擎onesearch2(基于elasticsearch6.7)nested字段/动态扩展索引属性
Nested类型字段是一对多关联对象搜索的解决方案,动态扩展字段在业务系统很常见,搜索引擎需要支持,本文介绍onesearch组件如何使用nested,使用nested实现索引和查询动态扩展索引属性。原创 2023-04-20 00:04:53 · 370 阅读 · 0 评论 -
搜索引擎2.0(based elasticsearch6.8)文档搜索权限设计与实现
企业搜索,文档搜索权限是不可或缺,原因有二, 首先,企业文档,包括公文,流程,技术文档等,带有敏感信息,需要权限控制,搜索返回带片段,可能带出敏感信息;其次,若没有权限,用户搜索出来的文档可能不能阅读原文,体验非常差本文介绍文档搜索权限的设计和实现解释原创 2023-04-12 15:50:10 · 448 阅读 · 0 评论 -
搜索引擎2.0(based elasticsearch6.8)设计与实现细节(完整版)
介绍了1.0特性,搜索schema,agg,表达式搜索映射,本文介绍onesearch 2.0 新特性, 文档抓取,文档索引及其分布式架构,搜索装配映射组件等原创 2023-03-23 01:19:17 · 450 阅读 · 0 评论 -
搜索引擎onesearch2.0(基于elasicsearch)文档索引/esdsl装配映射详细设计和实现解释
es dsl搜索功能非常丰富,可调参数多,但也很难用,更难服用,onesearch设计装配映射组件支持通用表达式转换esdsl,用户只需编写通用表达式,如,((f1=‘a’or f2=’b’) and f3=‘c’)) 即可实现搜索过滤,类似elasticsearch自身也提供了sql查询功能,大大降低开发难度,同时具备高复用性。映射通用表达式为es dsl,支持=,!=,like,in,range,prefix,not/and/or,大小括号,点(.)等操作符映射,解决es dsl难使用,难复用的痛点。原创 2023-02-27 23:03:16 · 345 阅读 · 0 评论 -
搜索引擎onesearch 2.0(based elasticsearch6)分布式文档索引设计+tika原理源码分析
Tika原理源码分析,内容类型识别,内容抓取,分布式datax原创 2023-01-06 22:04:28 · 1118 阅读 · 0 评论 -
再见esdsl,搜索引擎 elasticsearch通用表达式搜索(附源码)
1. 背景互联网时代,也是用户量为王的时代,海量的用户对系统的高并发高吞吐提出新的要求,搜索引擎搜索性能高数据库百倍,是实现信息获取高并发高吞吐重要途径, 目前搜索引擎比较流行有 elasticsearch,solrcloud,opensearch,搜索引擎通常有自己的搜索表达式语法,语法晦涩难懂,开发人员很难开发可重用的应用,本框架 onesearch 支持通用表达式搜索,如,(x=’a’ and (y=’b’ or z=’c’), 支持多重括号,not and or 等语法,开发搜索变得简单和高..原创 2022-01-11 10:02:54 · 1202 阅读 · 0 评论