学术文化网:本站代理期刊可作为职称及学位评审依据;并代写(职称、本科、硕士、博士)论文,代写代发论文一条龙服务;保证原创,保证质量,100%通过,保密服务

学术文化网

重点推荐省级国家级期刊、北大中文核心、CSSCI、EI、SCI发表,稳妥操作,速度快,包发表。有意向联系客服咨询。
论文代写:十年专业服务品质,全部由期刊编辑、硕士、博士撰写;保证原创、版权归您;保证通过、否则全额退款。代写论文申请表
论文发表:与百家优秀期刊合作,代理审核组稿,论文发表涵盖所有专业领域,全部正刊,保证出刊,否则全额退款。代写代发论文申请表
业务合作:因业务发展需要,诚招优秀写手合作,要求硕士以上学历,不限专业,另诚征优秀期刊代理合作,具体详谈。QQ:415835425 代写论文写手申请表
当前位置: 主页 > 工科论文

使用Solr为大数据库搭建搜索引擎(2)


库查询语句。
170 2.5.2 查询添加删除索引
Solr 提供了一个易于使用的、基于 Java 的 API,它避免了 HTTP 链接和 XML 命令
的所有弊端。这个称为 SolrJ 的新客户机使得通过 Java 代码处理 Solr 更加轻松。SolrJ API
通过良好定义的方法调用简化了索引创建、搜索、排序和分类。
本文中使用SolrJ 来进行索引的添加删除,以及执行中文搜索。
175 查询关键代码如下:
CommonsHttpSolrServer solrServer = new CommonsHttpSolrServer(SOLR_URL);
SolrQuery query = new SolrQuery();
query.setQuery(":");
QueryResponse rsp = solrServer.query( query );
180 SolrDocumentList docs = rsp.getResults();
for ( Object obj:docs) {
SolrDocument doc=(SolrDocument)obj;
String USERNAME = (String) doc.getFieldValue("USERNAME");
 String USERCODE = (String) doc.getFieldValue("USERCODE");
185 }
通过SolrJ 查询只需先建立连接CommonsHttpSolrServer,然后定义SolrQuery,添加查
询语句setQuery(),然后就可以通过QueryResponse 类型的对象读出查询结果。
添加单独索引时,在建立连接的基础上创建SolrInputDocument 类型,通过addField()
方法添加相应的索引域和内容,最后执行add()方法以及commit()方法即可。
190 删除单独索引时,在建立连接的基础上执行deleteByQuery()方法,再commit()就可以完
成根据查询结果删除索引。
3 结果分析
3.1 Solr 开销
Solr 导入千万级数据花费20 分52 秒。
195 索引文件占用空间643M。
图2 导入结果
Fig. 2 Import Results
200 3.2 搜索时间对比
查询抽取JAVA 中文字库GB2312 中的字,使用单字查询。Solr 采用SolrJ 接口,读取
查询时间rsp.getQTime(),数据库采用模糊查询like%%。
经1000 次统计测试,Solr 平均查询时间:3.07MS,数据库平均查询时间:7631.1MS。可
以看出,使用搜索引擎查询的时间是数据库查询的千分之一量级。
205 4 结论
在进行海量数据搜索的时候,如果仅仅使用数据库的技术,那将带来非常大的痛苦,速
度会是最大的瓶颈,此外还会带来搜索结果不匹配等令人沮丧的问题。本文提出了使用Solr
建立数据库搜索引擎,并结合具体代码简单说明如何构建Solr 搜索引擎,并在最后进行了
比较,Solr 的搜索引擎优势是显而易见的。


学术论文网Tag:代写论文 论文发表 计算机论文 职称论文发表
本站郑重声明:
  1、我们与数十所知名高校博士强强联手,保持常年稳定合作关系,论文质量更有保证;;
  2、写作领域涉及所有专业,实力操作,出稿更快,质量更高,通过率100%;
  3、所有代写文章,全部原创,包检测,保证质量,后续免费修改,保证通过;
  4、信誉实力服务,专业代写毕业论文,职称论文,硕博士论文,留学生论文,成熟操作;
------分隔线----------------------------
栏目列表
联系我们
服务承诺
推荐内容