整合網上資源后 100%可運行的配合步驟,部署在tomcat 為例。
一:下載solr,版本為5.2.1
地址:http://pan.baidu.com/s/1eRAdk3o
解壓出來。
1.在解壓的文件夾路徑: /server/webapps/solr.war
2.放到 tomcat的 webapps 文件夾下(tomcat官網自行下載)
3.運行 bin/startup.bat,
http://localhost:8080/solr 可以訪問。OK。
二、配置solr
1.進入tomcat下的項目路徑:webapps/solr/WEB-INF/web.xml
編輯修改,大約40行左右
2.取消掉注釋,輸入要存放的配置位置,並對應創建文件夾
3.把之前解壓的文件夾打開: /server/solr ,文件夾下所有文件復制到我們新建的文件夾下
4. 復制解壓的文件夾內 /server/lib/ext 下所有jar包 復制到 tomcat內 : /webapps/solr/WEB-INF/lib
5. 解壓文件夾下 /server/resources/log4j.properties 復制到 tomcat內 : /webapps/solr/WEB-INF
6. 解壓文件夾下 /dist/solr-dataimporthandler-5.2.1.jar 復制到 tomcat內 : /webapps/solr/WEB-INF/lib
配置完成。啟動 http://localhost:8080/solr
三、配置core
項目保持啟動
1.解壓文件夾下 /example/example-DIHsolr的 db文件夾 復制到我們創建的 solr_home 文件夾下
2.控制面板添加core。點擊 core admin
name和instanceDir 改成文件夾名。然后 Add Core
配置完成!
四、新建項目調用測試。
1.新建一個maven 項目
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.masz.solr</groupId> <artifactId>solrj</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>5.0.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.5.6</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>compile</scope> </dependency> </dependencies> </project>
2.測試代碼
SolrTest.java
import java.io.IOException; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrClient; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.client.solrj.response.UpdateResponse; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; import org.apache.solr.common.SolrInputDocument; import org.junit.Before; import org.junit.Test; public class SolrTest { private static final String URL = "http://127.0.0.1:8080/solr/db"; private HttpSolrClient server = null; @Before public void init() { // 創建 server server = new HttpSolrClient(URL); } @Test public void addDoc() { SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", "this is id"); doc.addField("title", "this is document"); try { UpdateResponse response = server.add(doc); // 提交 server.commit(); System.out.println("########## Query Time :" + response.getQTime()); System.out.println("########## Elapsed Time :" + response.getElapsedTime()); System.out.println("########## Status :" + response.getStatus()); } catch (SolrServerException | IOException e) { System.err.print(e); } } /** * 查詢 */ @Test public void testQuery() { String queryStr = "*:*"; SolrQuery params = new SolrQuery(queryStr); params.set("rows", 10); try { QueryResponse response = null; response = server.query(params); SolrDocumentList list = response.getResults(); System.out.println("########### 總共 : " + list.getNumFound() + "條記錄"); for (SolrDocument doc : list) { System.out.println("######### id : " + doc.get("id") + " title : " + doc.get("title")); } } catch (SolrServerException e) { System.err.print(e); } } }
舉例簡單測試代碼。更多操作查看官網或百度即可。