1 solr的配置:
1.1 使用的solr 版本是 solr-4.9.0 jdk1.7 tomcat-7
1.2 solr在tomcat中的配置:
(1).解压 solr-4.9.0 压缩包,解压后在solr-4.9.0\example\webapps中取出solr.war包将其拷贝 到tomcat的weapps中solr文件夹(自己建的)解压(由于本人不知如何解压war包,所 以就吧war后缀直接改为zip,使用360解压软件解压。网上说可以运行tomcat,就会自动将war包解压)
(2)在解压的solr文件中找到WEB-INF,新建一个classes文件夹 将log4j.properties放到里面
(log4j.properties是从solr-4.9.0\example\resources中找到的)
(3)拷贝\solr-4.9.0\dist\solrj-lib中的所有jar包
拷贝到apache-tomcat-7.0.53\lib中
(4)在计算机本地新建一个文件夹solr(本人新建E:\devlelopEnvironment\solr)
将solr-4.9.0\example\solr中全本文件拷贝到新建的文件夹中
(5) 在上一步拷到的文件中找到collection1\conf中的solrconfig.xml 修改这个文件中dataDir 路径为(4)中新建的solr文件夹
(6)在tomcat中\apache-tomcat-7.0.53\webapps\solr\WEB-INF
修改web.xml中env-entry 将注释去掉,然后路径修改为(4)中新增的路径。(注意路径分隔符)
修改后:
(7)启动tomcat 访问http://localhost:8080/solr/#/见到如下内容说明配置ok
2 Solr在web项目中的使用:
(1)首先在项目的pom文件中添加如下jar包:
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>4.9.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version> 3.2.4.RELEASE </version>
<scope>provided</scope>
</dependency>
(2)创建一个solrUtill的公共方法:
2.1首先创建连接:
2.2将新增数据存放到solr中,在存放数据前首先应该在schema.xml中创建数据表中的字段
字段是根据项目中数据表中的字段自己定义
2.3 新增存放数据的方法
public static void addHouseDocs(HouseDto house){
Collection docs = new ArrayList();
SolrInputDocument doc1 = new SolrInputDocument();
doc1.addField("id", house.getId());
doc1.addField("uuid", house.getUuid());
doc1.addField("userUuid", house.getUserUuid());
doc1.addField("userName", house.getUserName());
docs.add(doc1);
SolrServer server = createSolrServer();
try {
server.add(docs);
server.commit();
} catch (SolrServerException e) {
logger.error("solr 新增数据报错" + e.toString());
e.printStackTrace();
}
}
2.4
新增查询方法:
至此,整个solr的搭建,已经在项目中的使用结束