使用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为mysql构建全文搜索引擎
- 使用solr的DIHandler 构建mysql大表全量索引,内存溢出问题的解决方法
- 使用Solr构建企业级的全文检索
- 使用Solr构建企业级的全文检索(四)---------写入文档
- 使用Solr构建企业级的全文检索(一)---------开篇
- 使用Solr构建企业级的全文检索
- FreeBSD 5.5+Apache 2.2+MySQL 5.1+PHP 5+Discuz 5.5使用ports构建日志
- 使用mysql federated引擎构建MySQL分布式数据库访问层
- 使用 HAProxy, PHP, Redis 和 MySQL 轻松构建每周上亿请求Web站点
- 使用mysql federated引擎构建MySQL分布式数据库访问层
- Docker使用supervisor构建solr
- 使用 HAProxy, PHP, Redis 和 MySQL 轻松构建每周上亿请求Web站点
- 使用MySQL作为SOLR的索引源
- 使用Solr构建企业级的全文检索(二)---------管理界面简介
- .NET程序员也用JAVA:使用BlazeDS,SpringFramework,MySql,Flex构建RIA应用 part 3 :Flex及As 3代码编写
- 使用Solr构建企业级的全文检索(一)---------开篇
- Docker使用supervisor构建solr
- 使用PHP+MySQL构建图书管理系统
- 使用MySQL构建一个队列表
- .NET程序员也用JAVA:使用BlazeDS,SpringFramework,MySql,Flex构建RIA应用 part 2 :Java代码编写.