一.环境准备
Windows 7 64位
java version "1.8.0_65"
solr-5.3.1.tgz
apache-tomcat-8.0.28.zip
eclipse-jee-mars-1-win32-x86_64.zip
二.环境安装
1. solr安装
1. 下载solr 5.3.1.tgz 压缩包,并解压到D盘
1. 下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/5.3.1
2. solr5.3.1解压后目录结构如下:
2. 下载apache-tomcat-8.0.28.zip并解压到D盘
下载地址:http://tomcat.apache.org/download-80.cgi
解压到D盘apache-tomcat-8.0.28目录文件夹效果如下:
3. 在D:\apache-tomcat-8.0.30\webapps下新建solr文件夹,并复制D:\solr-5.3.1\server\solr-webapp\webapp下所有文件,创建solr_home文件,如图:
4. 修改D:\apache-tomcat-8.0.30\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>D:\apache-tomcat-8.0.28\webapps\solr\solr_home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
5. 把D:\solr-5.3.1\server\lib\ext 中的 jar 全部复制到 D:\apache-tomcat-8.0.30\webapps\solr\WEB-INF\lib 文件夹下,如图:
6. 将 D:\solr-5.3.1\server\solr 目录下所有的文件都复制到D:\apache-tomcat-8.0.28\webapps\solr\solr_home
7. 把D:\solr-5.3.1\server\resources\log4j.properties文件复制到D:\apache-tomcat-8.0.30\webapps\solr\WEB-INF\classes目录下,如果classes文件夹不存在就手动新建一个文件夹,如图:
8. 保存关闭,而后启动tomcat,在浏览器输入http://localhost:8080/solr即可出现Solr的管理界面。
9. 如果本地有多个jdk需要在D:\apache-tomcat-8.0.28\bin\startup.bat 文件中指定jdk1.8的home地址,如
三.Solr创建core应用
1. Solr创建第一个core
1. 创建core1文件夹,名称自定义,当前实例使用名称core1
在D:\apache-tomcat-8.0.28\webapps\solr\solr_home 目录下创建 core1 文件夹,如图:
2. 将D:\solr-5.3.1\server\solr\configsets\data_driven_schema_configs目录下的conf文件夹复制到D:\apache-tomcat-8.0.28\webapps\solr\solr_home\core1文件夹里,如图:
3. 重启tomcat,进入http://localhost:8080/solr管理页面选择Core Admin,如图:
4. 在Solr创建第一个core
点击add core输入:name、instanceDir、dataDir、config、schema等值,如图:
点击 Add Core 完成。如果:
2. Solr在core中创建索引
1. 选择 Core Selector 项中的 core1,如图:
选择 Documents 项在Document(s)文本域中输入Json格式的数据创建索引,如图:
点击“Submit Document” 创建索引,状态 Status:success 表示创建成功。
四.eclipse 项目中Solrj二次开发
1. 使用eclipse创建 maven project,如图:
创建完成,注意jdk版本必须是1.8,如图:
2. 加入solrj.jar 相关依赖,pom.xml 文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.skmframework</groupId>
<artifactId>solrjdevelop</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-solr</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.2.4.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>hamcrest-core</artifactId>
<groupId>org.hamcrest</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- SOLR -->
<dependency>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
<version>5.3.1</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-core</artifactId>
<version>5.3.1</version>
<optional>true</optional>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<repositories>
<repository>
<id>spring-maven-snapshot</id>
<url>http://repo.spring.io/libs-snapshot</url>
</repository>
</repositories>
</project>
3. 创建测试类SolrJClientTest.java
package main.java;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
public class SolrJClientTest {
public static void main(String[] args) {
try {
SolrClient client = new HttpSolrClient("http://127.0.0.1:8080/solr/core1");
SolrQuery params = new SolrQuery("id:change.me");
QueryResponse result = client.query(params);
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
}