美文网首页搜索技术专题
全文搜索引擎Solr工具使用

全文搜索引擎Solr工具使用

作者: 缱绻离愁 | 来源:发表于2017-04-27 22:49 被阅读185次

      Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎

    1.下载solr

    官网:http://lucene.apache.org/solr/

    2.目录结构(版本:6.3.0)

    3.启动solr

    solr默认使用jetty部署,也可以使用tomcat部署,本次采用默认jetty部署,进入solr目录,输入:bin/solr start命令,出现Happy searching!字符证明启动成功,默认端口号8983

    4.访问solr

    浏览器访问本地solr地址:http://localhost:8983/solr/#/

    5.新增配置文件

    在server/solr目录下,有一个README.txt的文件,其中说明了如何建立solr core。最简单的建立是直接复制solr中为我们提供好的例子,打开server/solr/configsets目录会发现里面已经有三个例子,因为我们是要从数据库导入数据,所以复制 “data_driven_schema_configs” 这个例子并改名为 “case_task”。

    6.导入中文分词工具IK Analyzer

    下载地址:http://download.csdn.net/detail/linzhiqiang0316/9537326

    IK分词包内容:

    7.整合中文分词工具IK Analyzer

    将ik-analyzer-solr5-5.x.jar这个jar包放入solr项目下的dist目录下面,将IKAnalyzer.cfg.xml,mydict.dic(搜狗的扩展词库),stopword.dic放在solr项目下的server/resources目录下面

    8.导入需要的jar包

    为了导入数据和链接mysql,我们还需要导入两个重要的jar包。由于mysql的jar包并没有在项目中,我是复制了一份放到了dist目录下面了。另外两个需要的jar包就是dist目录下带有“dataimport”标识的jar包。

    然后打开myCollections/conf/solrconfig.xml,引用上面提到的jar包和中文分词工具jar包如下。

    9.数据库字段

    10.添加requestHandler

    继续修改case_task/conf/solrconfig.xml,搜索  ,然后在该行之上添加如下代码。

    data-config.xml

    11.建立连接配置文件

    在case_task/conf目录下新建data-config.xml, 内容如下。

    ```

    deltaImportQuery="select * from case_task where id='${dih.delta.id}'"

    deltaQuery="select id from case_task where last_modify_time> '${dataimporter.last_index_time}'">

    ```

    说明:

    dataSource是数据库数据源。Entity就是一张表对应的实体,pk是主键,query是查询语句。Field对应一个字段,column是数据库里的column名,后面的name属性对应着Solr的Filed的名字。其中solrdata是数据库名,case_task是表名。

    其中deltaQuery是增量索引,原理是从数据库中根据deltaQuery指定的SQL语句查询出所有需要增量导入的数据的ID号。然后根据deltaImportQuery指定的SQL语句返回所有这些ID的数据,即为这次增量导入所要处理的数据。核心思想是:通过内置变量“${dih.delta.id}”和 “${dataimporter.last_index_time}”来记录本次要索引的id和最近一次索引的时间。

    12.managed-schema配置field信息

    搜索 

    添加中文分词IK配置信息:

    13.添加我们刚刚建立的core

    (1).点击Core Admin,配置我们建立的solr Core的信息,如下所示:

    (2).测试索引是否成功

    索引成功

    (3).监测查询成功

    查询成功

    (4).检测中文分词

    检测成功

    14.其他操作

    (1).删除所有索引:

    http://localhost:8983/solr/case_task/update/?stream.body=%3Cdelete%3E%3Cquery%3E*:*%3C/query%3E%3C/delete%3E&stream.contentType=text/xml;charset=utf-8&commit=true

    (2).添加所有索引:

    http://localhost:8983/solr/case_task/dataimport?command=full-import&clean=false&commit=true

    (3).新增索引:

    http://localhost:8983/solr/case_task/dataimport?command=delta-import&clean=false&commit=true

    相关文章

      网友评论

        本文标题:全文搜索引擎Solr工具使用

        本文链接:https://www.haomeiwen.com/subject/idonzttx.html