windows环境tomcat8配置Solr5.5.3
1、下载solr-5.5.3(csdn),tomcat8,新建文件夹solr_server,将tomcat8放在solr_server文件夹下
2\把solr-5.5.3/server/solr-webapp文件夹下的webapp目录复制拷贝到Tomcat/webapps文件夹内并重命名webapp目录名为solr。
3、把solr-5.5.1/server/lib/ext中的jar包复制到Tomcat/webapps/solr/WEB-INF/lib目录中。
4、把solr-5.5.1/server/solr目录复制到solr_server下。这个目录也就是后面你创建索引实例Core需要用到的目录。配置文件(schema.xml)和索引都保存在这里。
5、把solr-5.5.1/server/resources下的log4j.properties复制到Tomcat/webapps/solr/WEB-INF/classes目录内。如果classes不存在手动创建。
6、配置web.xml。打开Tomcat/webapps/solr/WEB-INF下的web.xml。找到如下配置内容
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>../../solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
放开注释,并修改env-entry-value为你的solr_home地址。可以写完整的路径如:D:\solr_server\solr
OK。保存。顺便重启下tomcat。然后在浏览器输入http://localhost:8080/solr/index.html。 刚开始我配置完后直接输入http://localhost:8080/solr 回车提示404. 4.x部署这样是能打开的,5.x必须输入到index.html。 出现下图则说明你的solr Admin UI搞定了。
添加用户验证
在tomcat的conf下tomcat-users.xml中添加如下:
在solr的conf下web.xml中添加如下:
重启tomcat会出现用户名密码验证
创建communityserver_override.config
communityserver_override.config内容如下:
<?xml version="1.0" encoding="utf-8"?>
<Overrides>
<Override xpath="/CommunityServer/Search/Solr" mode="change" name="host" value="http://localhost:8080" />
</Overrides>
创建Core
5.x没有了默认的Core,需要自己配置。在solr_server/solr创建Core目录,我起名univeral并把d:/solr_home/solr/configsets目录内的conf目录复制进去并创建data文件夹,conf放配置文件,data放索引数据(index data)。打开Admin UI 左侧有Core Admin。 把表单中的name和instanceDir输入univeral。 然后点击【Add Core】
小试牛刀之创建索引
在Admin UI中选择左下方的Core Selector找到你刚才创建的universal实例。点击展开菜单。选择documents。
注意:当你点击【Submit Document】按钮时会提示你Field title不存在,这是因为你的schema.xml没配置这个字段。在d:/solr_home/solr/univeral/conf下找到managed-schema(老版本是schema.xml),打开配置field字段。
右侧出现Status:success则说明索引创建成功.
小试牛刀之搜索
在Solr Admin UI 左侧Core实例菜单中点击Query。默认q=*:*查询全部。 solr查询使用的http get接口。包括字段筛选、关键字查询、高亮、facet(垂直分片查询)都在get路径里输入参数。
solr连接mysql数据库
solr 连接数据 需要两个jar
一个是mysql 连接数据库的jar (mysql数据库jar 自行下载 这里不过多细说)
另一个是solr-dataimporthandler-5.5.0 jar 包
进入 solr-5.5.0/dist 文件夹中 将圈中jar 进行复制
将mysql链接数据库jar 和上一步复制的jar 粘贴到 apache-tomcat-7.0.47\webapps\solr\WEB-INF\lib 文件夹 如下图:
数据库和jar 都已经准备好了 下面我们需要添加一些配置文件信息
在solrHome中的core核心配置文件的conf中solrconf.xml文件中添加如下信息:
- <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
- <lst name="defaults">
- <str name="config">data-config.xml</str>
- </lst>
- </requestHandler>
并在data-conf.xml中添加如下内容
- <dataConfig>
<dataSource name="testDataSource" type="JdbcDataSource" driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:orcl" user="orcl" password="123456"/>
<document name="user">
<entity name="user" dataSource="testDataSource" pk="user_id"
deltaImportQuery="select * where user_id ='${dih.delta.id}'"
deltaQuery="select user_id from sys_user where createdate > '${dih.last_index_time}'" >
<field column="user_id" name="user_id"/>
<field column="username" name="username"/>
<field column="password" name="password"/>
<field column="email" name="email"/>
<field column="phone" name="phone"/>
<field column="tel" name="tel"/>
<field column="createdate" name="createdate"/>
<field column="status" name="status"/>
<field column="realname" name="realname"/>
</entity>
</document>
</dataConfig>
user:数据库用户名
password:数据库密码
name:是数据库表的名称
接下来需要在schema.xml文件中需要添加字段并修改uniqueKey
(schema.xml文件需要将同目录下的 managed-schema 改名而来)
<field name="user_id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="username" type="string" indexed="true" stored="true"/>
<field name="password" type="string" indexed="true" stored="true"/>
<field name="email" type="string" indexed="true" stored="true"/>
<field name="phone" type="string" indexed="true" stored="true"/>
<field name="tel" type="string" indexed="true" stored="true"/>
<field name="createdate" type="date" indexed="true" stored="true"/>
<field name="status" type="string" indexed="true" stored="true"/>
<field name="realname" type="string" indexed="true" stored="true"/>
修改<uniqueKey>user_id</uniqueKey>(注:修改为自己配置的pk)
之后保存 启动tomcat
在页面进入web后台管理页面 成功 如下
在execute的时候可能时间会比较长 需要手动 refresh status 一下
查询下是否连接成功
数据库添加的数据已经展现出来了