准备工作
1。创建一个目录 例如 D:/java/Solr_Home
2。将solr.zip包解压 找到 solr的war包 改名字为solr.war 放入D:/java/Solr_Home路径下面
3。找到solr.zip中 /example/solr 中的 solr也存放在D:/java/Solr_Home中
第一种 :
在tomcat安装目录下添加/conf/Catalina/localhost/solr.xml文件
文件内容如下 :
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:/java/Solr_Home/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="D:/java/Solr_Home/solr" override="true" />
</Context>
启动tomcat服务器 在地址栏输入 http://localhost:8080/solr
出现
证明 :成功 (会在tomcat中webapps下面 生成一个项目的文件夹)
(红色字体为创建的目录路径,这种配置只适合一个服务器对应一个solr)
第二种
依据第一种方法,已经在服务器中的webapps下面生成了项目的文件夹 删除掉
1 在tomcat安装目录下添加/conf/Catalina/localhost/solr.xml文件
2 D:/java/Solr_Home 下面的solr.war
修改 webapps 项目文件夹中 的 web.xml文件 最下面 加入
<env-entry>
<env-entry-name >solr/home</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value >D:\java\Solr_Home\solr</env-entry-value>
</env-entry>
如果一个服务器下 配置多个 复制 webapps 的项目文件夹 改名字为 solr1 修改web.xml 文件
<env-entry>
<env-entry-name >solr/home</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value >D:\java\Solr_Home\solr1</env-entry-value>
</env-entry>
D:\java\Solr_Home 下面的 solr文件 也要复制一份改名字叫 solr1 (这种配置只适合一个服务器对应多个solr)
与mysql数据库进行集成
找到D:\java\Solr_Home\solr\collection1\conf 目录
1 . 修改 solrconfig.xml 文件
在这个下面 加入 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
2 . 在此目录下 添加 data-config.xml 文件 内容 (本地创建的测试库)
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource" name="info" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="root"/>
<document>
<entity name="article" pk="id" dataSource="info" query="SELECT id,name,password,flag FROM demo" ></entity>
</document>
</dataConfig>
3 . 修改schema.xml 文件
将上面的 内容 改成下面本地的内容 属性
<uniqueKey>id</uniqueKey>
<!-- <copyField source="name" dest="text"/> -->
将上面的信息修改成这个
测试 : 输入地址 http://localhost:8080/solr/select?q=*:*
出现测试库中相关数据
1 http://localhost:8080/solr/dataimport?command=full-import 将数据全部导入solr服务器
(导入之后会在D:\java\Solr_Home\solr\collection1\data 下面生成索引)
2 http://localhost:8080/solr/dataimport?command=status 可以查看运行状态
3 当修改data-config.xml 文件配置时运行 http://localhost:8080/solr/dataimport?command=reload-config 可以进行重新加载配置文件
4 如果想终止运行 http://localhost:8080/solr/dataimport?command=abort
Java 代码 简单测试
String url = "http://localhost:8080/solr/select?q=*:*" ;
GetMethod get = new GetMethod(url);
HttpClient httpclient = new HttpClient();
int statusCode = httpclient.executeMethod(get);
if (statusCode != 200) {
System.err.println("Method failed: " + get.getStatusLine());
} else {
byte[] responseBody = get.getResponseBody(); // 读取内容
System.out.println(new String(responseBody)); //打印xml格式的信息数据
}