solr5.5.3使用随感
1.部署solr-webapp(solr5.5.3+jdk1.7+tomcat8)
a.将solr-5.5.3/server/solr-webapp/webapp文件夹复制到tomcat的webapps目录下,并重命名为solr;
b.将solr-5.5.3/server/lib/ext中的文件复制到solr/WEB-INF/lib目录下;
c.将solr-5.5.3/server/resources/log4j.properties复制到solr/WEB-INF/classes目录下;
d.将solr-5.5.3/server/solr中的文件复制到某个目录下,如C:/MyWork/solr_home;
e.打开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-value>中的内容改成你的solr_home路径,这里是C:/MyWork/solr_home;
f.启动tomcat,在浏览器输入http://localhost:8080/solr/admin.html即可出现Solr的管理界面。
2.新建一个core
a.在C:/MyWork/solr_home下新建一个目录core1;
b.将C:/MyWork/solr_home/configsets/sample_techproducts_configs下的conf复制到core1下;
c.在界面上添加一个core,名为core1。
3.连接数据库
a.在C:/MyWork/solr_home/core1/conf/solrconfig.xml中增加
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>;
b.新建data-config.xml(该文件必须以<?xml version="1.0" encoding="UTF-8"?>开头),内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource type="JdbcDataSource" driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.138.11:1521:orcl2"
user="testgovuser"
password="testgovusers"/>
<document>
<entity name="bisDemo" query="select t.*, 'bis_demo' as resourcename from bis_demo t">
<field column="id" name="id"/>
<field column="title" name="title"/>
<field column="resourcename" name="resourcename"/>
</entity>
<entity name="cmsUser" query="select userid as id, username as name, 'cms_user' as resourcename from cms_user where state = 1">
<field column="id" name="id"/>
<field column="name" name="name"/>
<field column="resourcename" name="resourcename"/>
</entity>
</document>
</dataConfig>
表要能建索引,需要有全局唯一的主键(UUID),update_time字段以及is_del字段;
如果表的字段和managed-schema中的name不一致的话,要通过as调整成一致,并额外增加一个resourcename来标记是哪张表的数据;
c.dataConfig中entity的field的name要存在于managed-schema才能查询得到,所以如果不存在,要手动往managed-schema里添加;
d.将solr-5.5.3/dist下的solr-dataimporthandler-5.5.3.jar和solr-dataimporthandler-extras-5.5.3.jar复制到solr/WEB-INF/lib目录下;
e.将数据库驱动文件ojdbc14-10.2.0.4.0.jar复制到solr/WEB-INF/lib目录下;
f.打开管理界面Dataimport,导入数据;
g.查询数据Query,q->title:1 or id:1表示title或者id中包括1;
h.同步数据
全部导入:http://localhost:8080/solr/core1/dataimport?command=full-import。