solr6.1的安裝和部署及使用示例

 一、 環境

   solr 6.1.0  下載地址 http://archive.apache.org/dist/lucene/solr/6.1.0/

  jdk 1.8 

tomcat8


二、 安裝solr到tomcat

  1  解壓solr ,把 solr-6.1.0\solr-6.1.0\server\solr-webapp 下的webapp 文件夾拷貝到tomcat 的webapps下,重命名爲solr,也可以是其他名字;

   2 拷貝solr-6.1.0\server\lib\ext 下的jar包到 tomcat\webapps\ 下solr 項目的WEB-INF\lib下;拷貝solr-6.1.0\dist 下solr-dataimporthandler jar 包,solr-dataimporthandler-extras-         6.1.0.jar 包 到 tomcat\webapps\ 下solr 項目的WEB-INF\lib下

 3 拷貝solr-6.1.0\server 下的solr文件夾到 tomcat 的webapps下 或不是tomcat的其他地方也行,重命名爲solrhome或者是其他名字;

4 修改tomcat\webapps\ solr(solr的項目名)\WEB-INF\web.xml, 找到如下代碼,去掉註釋,/put/your/solr/home/here 改爲你自己的solrhome的路徑,         如:D:/work/tomcat8/so/webapps/solr/solr-home

<env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>/put/your/solr/home/here</env-entry-value>//C:\SOLRHOME
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

5 拷貝solr-6.1.0\server\resources下的log4j.properties到tomcat\webapps\solr\WEB-INF\classes,如果WEB-INF下沒有classes文件那麼        就創建一個classes文件夾。

6、啓動tomcat, 輸入http://localhost:8080/solr/index.html 看到如下界面


7.拷貝webapps\solr\solrhome\configsets下的basic_configs 文件夾到webapps\solr\solr-home 下,重命名爲core1 或其他名字

點擊 core admin, 指定配置文件,默認是new_core,把名字改爲core1, 兩個都改,重啓tomcat 


三 基本的操作


1、建立maven 項目,pom依賴

 <dependency>
    <groupId>org.apache.solr</groupId>
    <artifactId>solr-solrj</artifactId>
    <version>6.1.0</version>
</dependency>

<dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
</dependency>

2、 測試代碼

package com.search;


import java.io.IOException;
import java.util.HashMap;
import java.util.Map;


import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.impl.HttpSolrClient.Builder;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.SolrInputField;


public class TestSearch {


private static final String URL="http://localhost:8080/solr/new_core";
private static HttpSolrClient solrClient = null;

public static void main(String[] args){
TestSearch search = new TestSearch();
search.init();
search.addData();

}

private void init(){
solrClient = new HttpSolrClient.Builder(URL).build();
solrClient.setConnectionTimeout(3000);
}

public void addData(){
Map<String, SolrInputField> filedMap = new HashMap<String, SolrInputField>();
SolrInputField fa = new SolrInputField("id");
fa.addValue("id_JJJJJ", 1);

SolrInputField fb = new SolrInputField("aa");
fb.addValue("aaa", 1);
filedMap.put("id", fa);
//filedMap.put("a", fb);
SolrInputDocument doc = new SolrInputDocument(filedMap);
try {
//solrClient.deleteById("id");
solrClient.add(doc );
solrClient.commit();
} catch (SolrServerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
System.out.println(e);
}
}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章