发布:2017/11/15 0:17:26作者:管理员 来源:本站 浏览次数:1299
原来再用 lucene 做全文,以前也用过 solr 版本太低了,最新版跟老版本还是有些不太一样,下面介绍一下如何配置 solr5.1
准备工作:
1.下载
solr-5.1.0.zip https://pan.baidu.com/s/1o69Q2sq
2.下载 apache-tomcat-8.0.21
3.JDK1.8
4.配置好JDK环境变量
解压后的目录
F:\solr-5.1.0\
F:\apache-tomcat-8.0.21\
1. 拷贝 F:\solr-5.1.0\server\webapps\solr.war 到 F:\apache-tomcat-8.0.21\webapps 目录下,启动tomcat
2. 拷贝 F:\solr-5.1.0\server\lib\ext 下所有jar文件拷贝到 F:\apache-tomcat-8.0.21\webapps\solr\WEB-INF\lib 目录下
3. 在 F:\apache-tomcat-8.0.21\webapps\solr\WEB-INF\ 目录下新建目录 classes,
把 F:\apache-tomcat-8.0.21\temp\solr-5.1.0\solr-5.1.0\example\resources\log4j.properties 文件拷贝到
F:\apache-tomcat-8.0.21\webapps\solr\WEB-INF\classes 目录下。
4. 创建目录 F:\SolrHome\solr,把F:\solr-5.1.0\server\solr 下面的所有文件拷贝到 F:\SolrHome\solr 目录下
5. 打开文件 F:\apache-tomcat-8.0.21\webapps\solr\WEB-INF\web.xml 把下面
<!--
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->
注释去掉,修改成
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>F:/SolrHome/solr</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
6. 新建目录 F:\SolrHome\solr\myProject ,把目录 F:\solr-5.1.0\server\solr\configsets\basic_configs 下的目录 conf 整个拷贝到
F:\SolrHome\solr\myProject 目录下
7. 新建文件F:\SolrHome\solr\myProject\con\db-data-config.xml 内容如下
<dataConfig>
<dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/dbcas" user="root" password="test" />
<document>
<entity name="item" query="SELECT loginname,username,mobilephone,department,adminduty,gangwei from user">
<field column="loginname" name="loginname" />
<field column="username" name="username" />
<field column="mobilephone" name="mobilephone" />
<field column="department" name="department" />
<field column="adminduty" name="adminduty" />
<field column="gangwei" name="gangwei" />
</entity>
</document>
</dataConfig>
8. 打开文件 F:\SolrHome\solr\myProject\conf\solrconfig.xml
找到 <requestHandler name="/select" class="solr.SearchHandler"> 行,在该行上面添加以下内容
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
8. 下面拷贝 F:\solr-5.1.0\dist 目录下的 solr-dataimporthandler-5.1.0.jar 和 solr-dataimporthandler-extras-5.1.0.jar 文件,到
F:\apache-tomcat-8.0.21\webapps\solr\WEB-INF\lib 目录下,顺便把mysql的 mysql-connector-java-5.1.18-bin.jar 也拷贝到该目录下。
9. 打开文件 F:\SolrHome\solr\myProject\conf\schema.xml
保留 <field name="_version_" type="long" indexed="true"
stored="true"/>和<field name="_root_" type="string" indexed="true"
stored="false"/>
其余的 field 删除掉,并修改成自己的内容,如下:
<field name="loginname" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
<field name="username" type="text_general" indexed="true" stored="true" />
<field name="mobilephone" type="text_general" indexed="true" stored="true" />
<field name="department" type="text_general" indexed="true" stored="true" />
<field name="adminduty" type="text_general" indexed="true" stored="true" />
<field name="gangwei" type="text_general" indexed="true" stored="true" />
<uniqueKey>loginname</uniqueKey>
其中id 字段改成自己的,我的数据库唯一值是 loginname。
把 dynamicField 也都删除掉 ,把 <uniqueKey>id</uniqueKey> 删除掉。
10. 重启tomcat 访问 http://localhost:8080/solr 会出现管理界面
11. 点击页面左侧的 Core Admin,在右侧 name: 和 instanceDir: 输入 myProject,点击 Add Core,创建成功。
12. 下面来导入数据,在左侧 Core Selector,选择myProject, 然后点击下面DataImport,点击右侧Execute,导入完成会提示类似下面的信息
Last Update: 11:38:41
Indexing completed. Added/Updated: 787 documents. Deleted 0 documents. (Duration: 03s)
Requests: 1 (0/s), Fetched: 787 (262/s), Skipped: 0, Processed: 787 (262/s)
Started: less than a minute ago
13. 进入查询界面,试试看能不能检索出结果,点击页面右下角的 Query,q 输入框*:*不用修改,直接点击 Execute Query,如果没问题的话
右侧应该会出现检索结果
以上是 solr5.1.0 配置过程,具体进一步操作细节,待续。