欢迎来到天天文库
浏览记录
ID:23615325
大小:69.02 KB
页数:5页
时间:2018-11-09
《基于lucene的电力客户搜索引擎设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于Lucene的电力客户搜索引擎设计(江苏方天电力技术有限公司江苏南京211102)摘要:电力客户信息是供电企业开展电力工作的基础,如何快速准确定位用电客户,将直接影响到营业业务、电费电价管理、计量管理、客户用电安全管理等多项电力工作的工作效率。木文通过研究Lucene技术,搭建基于Lucene实现的用电客户搜索引擎系统,提高供电公司业务工作效率。关键词:电力客户;搜索引擎;Lucene;0引言目前电力公司已经建立了营销系统、用采系统等多套系统来为用户提供相应的电力服务工作,但是这部分系统都是基于传统的数据库建立,业务处理
2、时都需要准确的用户信息才能得到查询结果,而实际上由于多种原因使得系统内部有大量电力客户信息存在不完整或不准确的情况,使得数据质量上存在较大问题,造成用电客户信息不能及时查询到,从而影响了业务办理的效率。为此,木文通过Lucene搭建个性化电力客户搜索引擎,实现电力客户快速定位,提高了业务办理效率。1Lucene简介1.1Lucene简介Lucene是一个基于java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。是目前最为流行的基于Java开源全文检索工具ti[l-2】。1.2倒排索
3、引Lucene将输入数据以一种称为倒排索引(invertedindex)的数据结构进行存储。在进行关键字快速查找时,这种数据结构能够有效的利用磁盘空间[1-2]。2方案概述2.1系统架构系统由数据采集、数据索引、数据检索、数据交互四部分组成,如下图所示:图1系统架构图数据采集:通过全量和增量两种方式从结构化数据库中获取原始数据,并对客户数据进行组织处理为Lucene接收的数据格式;数据索引:索引程序通过中文分词及过滤器,将客户信息中的字符串进行分词及其他处理,并将返冋的所有字符串进行倒排处理后添加到索引库;数据检索:负责查询
4、条件预处理、组织查询条件、对查询结果进行过滤和排序;数据交互:包括搜索界面、结果展示与数据接口,搜索界面与结果展示是系统和用户交互的界面。数据接口为其他系统、APP、微信等系统提供接U,通过调用接U实现电力客户信息搜索。2.2数据采集数据采集模块负责获取传统数据库中的客户信息,并对客户信息进行组织处理。主要通过全量采集和增量采集两种方式实现。2.2.1全量数据采集系统搭建完成后,首次运行需要对所有用电客户信息进行采集,这就需要采用全量方式进行采集,全量方式处理的数据量大,所需吋间长,因此只适用于在首次或算法进行重人调整吋,需
5、要对所冇数据进行重新索引吋使用。2.2.2增量数据采集由于客户数据信息每天都发生变化,因此需要对客户信息进行实吋更新,但由于全量采集所需吋间长,不能满足数据变化的需求,因此需要通过增量采集方式对只对变化的数据进行采集,从而使数据处理时间大为减少,适用于tl常维护过程中使用,既保证了数据有效性又不影响数据检索效率。2.3数据索引Lucene索引过程分为3个主要操作步骤:创建文档、分析文本、添加索引文档[1-2]。创建文档:将原始文档转换为文本过程在数据采集过程已经进行处理,并将处理数据保存供数据索引吋使用。分析文档:在索引操作
6、吋,通过中文分词技术和过滤器结合来分析文本,将文本数据分割成语汇单元串,然后对它们执行一些可选择操作。添加索引文档:写入数据分析完毕后,就可以将分析结果写入索引文件中。2.4中文分词0前常用的应用于Lucene的中文分词器有mmseg4j、ansj、jcseg、ik、paoding等多种。由于系统主要是对姓名和地址进行处理,通过对各种分词器的分析比较,系统采用jcseg分词,并对算法进行了优化,完善了姓名识别词库,丰富了地址词库,最终使得分词效果能够满足系统的应用。如“江苏省南京市”分词后的结果为“江苏/江苏省/南京/南京市
7、”,这样保证了在使用“江苏”/‘江苏省”检索吋都能检索到该信总。2.4.1过滤器姓名处理:由于电力客户姓名中存在相似音,为了能够定位到这部分客户,需要对电力客户姓名实现相似音搜索,系统对分词器识别的电力客户姓名,增加了姓名拼音识别处理、将识别后的结果作为分词数据添加到索引中。如:内容:张三;处理结果:zhanglsanl、zhangsan地址处理:由于存在多种原因:1)地址名称更改(如县改为区等);2)录入吋使用简称或全称;3)由于同音词存在使得录入不一致。为了实现对这部分地址信息的识别,系统对分词器识别的地址信息制定了相应
8、的处理策略。对于前两种情况,系统根据地址信息的特点,对包含“省、市、区、县、乡、镇、村”的地址,增加相应的简称,如:内容:江宁区江宁县;处理结果:江宁对于同音词的处理,通过分析小区信息,增加了地址Ml音词词库,使得系统能够识别相应的同音词。如:内容:花园;处理结果:花园、花苑2.5数据检
此文档下载收益归作者所有