打通es及lucene应用,lucene应用es Query-介绍

应用背景需求

国内对中文文本的检索,在大数据场景应用,大量依赖es,es对中文分词的大数据场景提供了很大的支撑

es虽可串连其他大数据组件,但分词检索部分较难脱离es的束缚,因此es成了,中文分词场景下,反而又成了大数据场景应用的瓶颈

同时es集群的承载能力有限,又成为整个系统的瓶颈所在,减小es的压力的各种办法,如果无法做到在es外完成分词,终究效果有限

目前页面有多项较为优化的多维olap大数据组件,但通常的olap都是结构化数据,受限于中文分词,业内各种olap方案,都无法充分大规模的应用


难点概述

因此需要打通es内中文分词/检索和其他大数据组件,技术上为,实现脱机es集群环境,但与es集群兼容的lucene应用

这是业内很普遍的需求,但是很意外的没找到相关实现方案

真正尝试解决才发现并不像想象中的简单

常规的term, range 匹配,范围查找,没有什么困难,其他大数据组件都有相应的处理办法,最困难的是分词字段

es基于lucene做分词检索,但在lucene之上做了大量的封装和扩展

不考虑es,在mr/spark/flink/hive sql 等大数据组件内只应用lucene作分词,这样实现也很简单,但要完全兼容es的分词,就较为困难了,我个人在2019-2020并没有找到相关资料

这个问题其实已经解决了,只是总结下当时的解决思路

这篇算是目录

整体规划上 es和lucene 会有三到五篇

结合中文分词再有三到五篇

在大数据上的应用,会看时间,也是三到五篇

query String 和lucene是核心也是初衷

原文地址:https://www.cnblogs.com/zihunqingxin/p/14461623.html