您的位置:首页 > 数据库 > MySQL

使用solr为mysql构建全文搜索引擎

2017-07-21 15:15 387 查看

安装 Solr

1. 下载后解压 solr ,建议解压到 solr目录.
2. 进入 solr/example目录,这个目录下自带有jetty,可以直接运行.
3. 启动solr  “Java -jar startup.jar”
4. 通过以下路径进入测试服务器 http://<servername_or_ip>:8983/solr/admin/ .  如果你看到一个搜索框就证明,solr已经正确运行了。.

配置 MySQL Database

1. 下载MySQL的jdbc驱动到 solr/lib 目录.
2. 创建一个新的xml命名为 data-import.xml , 将相关设置改成你数据库的配置. 
在这个例子里, 我将对joomla数据库的jos_content表简历索引.
[xhtml] view plain copy <?xml version="1.0" encoding="UTF-8"?>  
<dataConfig>  
    <dataSource type="JdbcDataSource"  
                  driver="com.mysql.jdbc.Driver"  
                  url="jdbc:mysql://localhost/database"  
                  user="user"  
                  password="password"/>  
  
    <document name="doc">  
        <entity name="jos_content"  
                  query="select * from jos_content WHERE state=1"  
                  deltaImportQuery="SELECT * FROM `jos_content` WHERE id='${dataimporter.delta.job_jobs_id}'"  
          deltaQuery="SELECT id FROM `jos_content` WHERE modified > '${dataimporter.last_index_time}'">  
  
            <field column="id" name="id" />  
            <field column="title" name="title" />  
            <field column="introtext" name="introtext" />  
            <field column="fulltext" name="fulltext" />  
        </entity>  
    </document>  
</dataConfig>  

3. 编辑solrconfig.xml,这个文件在solr/example/solr/conf directory. 加入下列代码 .
[xhtml] view plain copy <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  
  <lst name="defaults">  
    <str name="config">/solr/data-config.xml</str>  
  </lst>  
</requestHandler>  

4. 现在开始配置 solr的schema文件schema.xml,此文件在solr/example/solr/conf 目录.
[xhtml] view plain copy <fields>  
  
<field name="id" type="string" indexed="true" stored="true" required="true"/>  
<field name="title" type="text" indexed="true" stored="true" required="true"/>  
<field name="introtext" type="text" indexed="true" stored="true" required="true"/>  
  
<field name="fulltext" type="text" indexed="true" stored="true" required="true"/>  
<dynamicField name="*" type="ignored" />  
</fields>  
  
<uniqueKey>id</uniqueKey>  
<!-- field for the QueryParser to use when an explicit fieldname is absent -->  
<defaultSearchField>fulltext</defaultSearchField>  

5. 重启solr,看一下有没有jdbc错误。如果jdbc没配置对,就会报错,请自行修改到正确为止.

执行全量或增量索引

如果都按照上述步骤配置完毕,并能正确启动,你可以通过浏览器执行如下命令来开始全量索引 http://<your_solr_server>:8983/solr/dataimport?command=full-import 你可以通过这个地址 http://<your_solr_server>:8983/solr/dataimport 检查执行的状态
如果一切正常,你就可以通过 http://<your_solr_server>:8983/solr/admin/ 进行查询,你会得到一个xml格式的返回。
如果要使用增量索引,使用这个命令 http://<your_solr_server>:8983/solr/dataimport?command=delta-import
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  solr