Solr4.4入門,介紹Solr的安裝、IK分詞器的配置及高亮查詢結果(轉)


一、Windows下安裝solr-4.4.0

1、  下載solr.4.4

2、  下載綠色版tomcat6.0.18

3、  解壓下載的solrd:\study\solr,將dist目錄下的solr4.4.0.war包復制到tomcatwebapps

4、  web.xml中配置solr.home為解壓的 solr中的d:\study\solr\example\solr

<env-entry>

       <env-entry-name>solr/home</env-entry-name>

       <env-entry-value>D:\study\solr\solr-4.4.0\example\solr</env-entry-value>

       <env-entry-type>java.lang.String</env-entry-type>

</env-entry>

如果不做此配置,在啟動的時候將會報異常 

solr - org.apache.solr.common.SolrException: Could not load config for solrconfig.xml

5、  啟動tomcat,訪問http://localhost:8080/solr-4.4.0即可訪問

6、  在左側樹中,選擇collection1,會彈出節點菜單,其中documents功能表示往索引目錄中添加記錄,而Query可以查詢指定目錄。

7、  往服務中添加索引

String url = "http://localhost:8080/solr-4.4.0";

       SolrServer server = new HttpSolrServer(url);

       SolrInputDocument doc1 = new SolrInputDocument();

       doc1.addField("id""1");

       doc1.addField("title""信息科技");

    doc1.addField("content""企業信息門戶,元數據,數字沙盤,知識管理");

server.add(docs);

    server.commit();

8、  查詢

public static void main(String[] args) {

        String url = "http://localhost:8080/solr-4.4.0";

        SolrServer server = new HttpSolrServer(url);

        SolrQuery query = new SolrQuery("雲南");

        query.setFacetLimit(1);

        //以下兩個參數常用作分頁時使用

        query.setRows(1);// 設置每次取多少條

        query.setStart(0);//設置從第幾條開始查詢

//以下幾行設置查詢結果關鍵字高亮顯示

        query.setHighlight(true);

        // hl.fl參數表示哪個幾Field關鍵字段高亮

        query.setParam("hl.fl""title, content");

query.setHighlightSimplePre("<font color=red>"); query.setHighlightSimplePost("</font");                                    query.setSort("name",ORDER.desc);

        try {

            QueryResponse response = server.query(query);

            SolrDocumentList docs = response.getResults();

            System.out.println("文檔個數:" + docs.getNumFound());

            System.out.println("查詢時間:" + response.getQTime());

            for (SolrDocument doc : docs) {

               System.out.println("title: " + doc.getFieldValue("title"));

 

                System.out.println("content : " + doc.getFieldValue("content "));

             }

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

 二、在solr中配置IK中文分詞器

在目錄solr/example/solr/collection1/conf中的 secham.xmltypes標簽最后添加定義字段類型。

secham.xml文件是定義的類型以及存儲的域。

<fieldType name="text_ik" class="solr.TextField"> 

<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> 

         <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/> 

</fieldType>

field中指定字段類型為上面定義的

<field name="name" type="text_ik" indexed="true" stored="true"/>

設置完比后重啟服務

admin管理台中,由於nameIK分詞器,所以分詞后的效果如下:

Solr4.4入門,介紹Solr的安裝、IK分詞器的配置及高亮查詢結果(一) - hbin8668 - HBIN8668IYUEE
 

 

title域是用的默認的分詞器,即text_general,分詞效果如下:

Solr4.4入門,介紹Solr的安裝、IK分詞器的配置及高亮查詢結果(一) - hbin8668 - HBIN8668IYUEE
這說明IK分詞器配置成功


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM