国内或国外 期刊或论文

您当前的位置:发表学术论文网文史论文》 基于SOLR的标准内容搜索的实现与优化> 正文

基于SOLR的标准内容搜索的实现与优化

所属分类:文史论文 阅读次 时间:2021-03-24 10:33

本文摘要:摘要:面对海量的标准信息,信息检索成为了研究和工作人员关注的问题,尤其是非结构化数据的存储、集成和索引。本文将Solr搜索引擎技术应用在标准内容的检索,实现针对标准化对象、具体指标等关键词的搜索,通过分词器选型和完善词表等手段,实现搜索效果的

  摘要:面对海量的标准信息,信息检索成为了研究和工作人员关注的问题,尤其是非结构化数据的存储、集成和索引。本文将Solr搜索引擎技术应用在标准内容的检索,实现针对标准化对象、具体指标等关键词的搜索,通过分词器选型和完善词表等手段,实现搜索效果的优化。

  关键词:标准文献,内容搜索,SOLR优化

标准科学

  1引言

  标准是科学、技术和实践经验的结晶,是组织生产的依据,是科学管理的基础[1]。随着标准文本信息的采集规模越来越大,对于标准的准确定位困难越来越大,导致用户不能够及时获取所需标准,标准资源也不能够被很好地利用[2]。针对标准内容,尤其是标准中重要指标描述的搜索成为标准搜索的核心诉求。面对百万量级各国标准题录数据,千万量级的中文标准段落数据,如何精确检索定位已经成为国内外标准文献服务及服务单位探索改进标准文献服务现状的重要方式[3]。传统的检索方式或者咨询也早就不能满足广大用户的需求,搜索引擎的问世让大规模的数据有了索引方向[4]。搜索引擎能够管理大量的文本数据,具有灵活的模式,能够快速有效地满足用户获取信息资源的需求[5],目前各个行业都能够充分地利用互联网资源,其中搜索引擎已经是各个行业利用最多的功能。

  2研究现状

  卢丽丽等[6]研究提出我国标准文献领域,服务模式单一、零散、效率低下,已经无法满足在互联网环境下客户对标准信息的需求。信息检索技术在国内有很多研究,如:布尔检索法[7]、词位检索法[7]、截词检索法、限制检索法[8-9]等方法。对于搜索引擎技术的研究,国内的发展较晚,搜狐在初期也是仅仅基于人工分类。由于中文有很大的难度和含义复杂,处理起来也很困难,这就造成了检索技术发展缓慢,对于搜索引擎的开发和研究也是近些年才开始展开的。

  一直以来,国内较为流行的全文索引技术包括TRS(TextRetrievalSystem)或者Lucene。陈正思[10]在其论文中研究了基于TRS技术的文献资源检索平台。梅江泽[11]指出当时现存的搜索引擎服务都是利用这两项技术为基础搭建的,或者是在其基础上进行的优化开发来满足特定的需求。在文献[12]中研究了关于Solr搜索引擎的核心技术,如:网络爬虫Heritrix、网页解析HTMLParser、中文分词IK、索引建立、相关度排序等,提出并行索引方式和缓存模型提升了响应速度。丁蔚然[13]研究了针对跨地区的数据平台融合检索技术,实现了企业异构信息搜索平台。

  白波[14]利用Solr进行二次开发,并添加了个性化搜索部分,增强了检索的实用性。国内首次尝试个性化推荐是在文献[15]中提到。目前,国内的搜索引擎技术还尚未成熟,基于Lucene、Solr、ElasticSearch的检索开发也是近几年才开始实践的,随着互联网络的发展、数据的积累,尤其是针对特定企业内部非结构化数据的集成检索还有待进一步研究。

  3关键技术

  3.1Solr

  Solr是一个基于Lucene的全文检索的服务器,Solr提供了比Lucene更为丰富的查询语言,同时实现了可扩展、可配置,还提供了完整的查询优化方案以及集群方案,可以独立运行在任何主流JavaServlet引擎中,如Jetty和Tomcat,或JBoss、OracleAS这样的J2EE应用服务器,Solr也为许多大型网站提供导航搜索服务[15]。Solr自带一些较强的功能,让搜索更加优化,而且自带管理界面,使用起来简单方便、直观而且功能强大。

  通过很多用户对Solr的二次开发使用,可以实现分页与排序、检索分组、自动建议、拼写检查、搜索结果高亮等功能,这些功能基本可以满足一般的网站检索开发需求,利用它可以实现大规模文本数据的检索并根据检索结果进行相关度排序。Solr的整体结构主要分为3个方面,Solr底层的核心技术还是Lucene,主要功能都在这里完成,包括请求解析、索引的建立、查询等,索引复制可以通过异步处理或者脚本程序完成[16]。但是Solr是在此基础上又扩展了Lucene,使其面向企业搜索应用。

  3.2反向索引

  在谈论搜索引擎的索引时,会涉及到两个概念——正向索引(forwardindex)和反向索引(invertedindex):(1)正向索引:从文档到词。假如有三个txt文档,文档1:Thecowsaysmoo.文档2:Thecatandthehat.文档3:Thedishranawaywiththespoon.解析每个文档出现的单词,然后建立从文档(document)到词(words)的映射关系,这就是正向索引。

  Solr搜索引擎在进行搜索服务时,是基于反向索引的,即针对用户输入的检索词,基于已有分词器进行分词,再针对分词之后的结果进行搜索,并命中文档。而反向索引的前提也是Solr搜索引擎基于分词器,针对标准题录和全文段落内容,进行反向引擎的构建。因此,使用成熟的Solr搜索引擎的效果优劣,很大程度依赖于分词器的选型和词表的优化。

  3.3中文分词

  在信息处理和检索领域中,不可或缺的就是中文分词技术,中文分词应用在创建索引和查询语句中,分词的结果直接能够影响检索结果的准确性。众所周知,英文通常都是以单词为基本单位,单词间用空格或逗号、句号分开,这时程序也很容易区分每个单词。但是中文就不一样了,中文是每个字为一个单位,字、词、句都有各自含义,中国汉字语言文化博大精深,语义丰富。但中文“我爱中国”就不一样了,电脑不知道“中国”是一个词语还是“爱中”是一个词语。像这样,就需要按照人类理解的意思把词句给拆分成单个字或词语,并且是有含义的词,这就称之为中文分词,也可叫做切词。我爱中国,分词的结果是:“我”“爱”“中”“国”。Lucene自带中文分词器:(1)StandardAnalyzer(单字分词):就是把中文词句拆分为单个字进行分词。

  如:“我爱中国”,效果:“我”“爱”“中”“国”。(2)CJKAnalyzer(二分法分词):把每两个字拆分为一体。如:“我是中国人”,效果:“我是”“是中”“中国”“国人”。以上两种自带分词器显然都无法满足我们对中文分词需求,因此,必须使用第三方中文分词器产品来实现中文分词。如:ik-analyzer、mmseg4j等。mmseg4j由华人Chih-HaoTsai创建,它基于MMSeg算法①实现的中文分词器,而且包含了lucene的文本解析器和solr的分词器工厂类,这样使得该分词器既能够在Lucene中使用,也能够在Solr中使用。MMSeg算法有两种分词方法:简单的正向 匹配和复杂的正向匹配,同样是基于正向最大匹配,只是复杂的存在四个规则对内容进行过滤[49]。

  mmseg4j使用搜狗词库。②IKAnalyzer是一个由国内程序员林良益开源的,基于java语言开发的轻量级的中文分词工具包。到现在,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,IK实现了简单的分词歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化,IKAnalyzer被认为是最好的Lucene中文分词器之一,而且随着Lucene的版本更新而不断更新,目前已更新到IKAnalyzer2012版本。

  4存在问题

  4.1mmseg4j分词效果不理想mmseg4j分词算法提供三种分词方法:simple、complex和maxword。其中,simple方式基于正向最大匹配,将每个汉字简单分割成词汇单元,通常会因为切分太多导致检索时候出现不需要的搜索结果;complex分词在simple基础上,增加了歧义消除规则;maxword为尽量获取更多的分词结果。下面分别以“儿童口罩技术规范”为例,用simple、complex、maxword三种方式对下段文字进行分词测试。

  (1)simple分词效果。基于词表,只拆分出长词,即“儿童口罩”和“技术规范”,对于“口罩”没有拆分出来,并最终导致Solr搜索“口罩”时,该标准无法被检索到,这样的体验无法接受。

  5解决方案及效果

  5.1使用IKAnalyzerIKAnalyzer的主要逻辑包括三部分:词典:词典的好坏直接影响分词结果的好坏;词的匹配:有了词典之后,就可以对输入的字符串逐字句和词典进行匹配,这点与mmseg4j类似;消除歧义:通过词典匹配出来的切分方式会有多种,消除歧义就是从中寻找最合理的一种方式,这项功能体现出IKAnalyzer的优势。IKAnalyzer的切词方式主要有两种,一种为smart模式,一种为ik_max_word即非smart模式。以“儿童口罩技术规范”为例。

  科学论文投稿刊物:《标准科学》由国家质量监督检验检疫总局主管、中国标准化研究院主办。《标准科学》是中央级“中国科技核心期刊”、“中国科技论文统计源期刊”和“CSSC扩展版来源期刊”;是学术性、权威性、专业性、前沿性、国际性,重点刊载标准科学的最新进展和动态研究成果的大型月刊;是国家质检总局通过国家标准馆,与国外交换的重要刊物之一。

  6结语

  本文将Solr搜索引擎技术应用在标准段落内容和指标的检索上,研究了Solr及其反向索引和中文分词等关键技术,针对在搜索标准内容和指标中实际遇到的问题,研究解决方案,并通过分词器的选型和词表的完善,达到了更好的检索效果。

  参考文献

  陈平,褚华.软件设计师教程(第2版)[M].北京:清华大学出版社,2006.

  甘克勤,张宝林,计雄飞,等.标准大数据实践(1)——异构数据集成[J].标准科学,2016(1):12-15.

  鲍向荣.浅议新形势下如何开展标准信息服务工作[J].大科技,2018,(30):20-21.

  丁蔚然.基于Solr的企业异构信息搜索平台的设计与实现[D].南京:东南大学,2015.

  宋漫莉.网络环境下用户信息期望与信息质量关系实证研究[D].天津:天津师范大学,2012.

  卢丽丽,陈云鹏,张宝林,等.标准信息集成研究[J].标准科学,2012(12):28-33.

  作者:赵东海张文华

转载请注明来自发表学术论文网:http://www.fbxslw.com/wslw/26230.html