Solr-8.1.1 + IK-analyzer-8.1.0教程

一、Solr簡介

        Apache Solr是一個功能強大的搜索服務器,它支持REST風格API。Solr是基於Lucene的,Lucene 支持強大的匹配能力,如短語,通配符,連接,分組和更多不同的數據類型。它使用 Apache Zookeeper特別針對高流量進行優化。

二、工具

Postman:發送post請求的http客戶端,官網地址:https://www.getpostman.com/

IKAnalyzer:中文分詞器,jar包下載地址:https://search.maven.org/search?q=com.github.magese

三、Solr的下載與安裝

1.Solr官網下載:http://lucene.apache.org/solr/downloads.html   或者   http://apache.fayea.com/lucene/solr/

2.下載後解壓,結構如下:

3.執行solr,指定端口爲8888。命令如下:

4.訪問http://localhost:8888/solr/,進入Admin UI界面驗證是否成功。如圖:

5.Solr常用命令

./solr start –p 端口號       // 單機版啓動solr服務

./solr restart –p 端口號   // 重啓solr服務

./solr stop –p 端口號      // 關閉solr服務

./solr stop -all                 // 關閉所有solr服務

./solr status                    // 查看solr狀態

./solr create –c name    // 創建一個core實例(core概念後面介紹)

注:

      此外有關於solr集羣版啓動方式和其他更多的命令可以參看官方文檔https://lucene.apache.org/solr/guide/

6.Admin UI界面,創建core。出現

解決:

     1)在創建new_core文件夾,如圖:

     2)將configsets下的conf文件夾,拷貝到new_core文件夾中,如圖:

   3)再在Admin UI界面創建c7ore,成功。如圖:

四、配置schema

1.找到managed-schema配置文件,如圖:

2.添加配置text_ik,如下配置:

        <!-- ik-analyzer -->
	<fieldType name="text_ik" class="solr.TextField">
	  <analyzer type="index">
		  <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
		  <filter class="solr.LowerCaseFilterFactory"/>
	  </analyzer>
	  <analyzer type="query">
		  <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
		  <filter class="solr.LowerCaseFilterFactory"/>
	  </analyzer>
	</fieldType>

3. 解析schema主要成員:

  1) fieldType:爲field定義類型,最主要作用是定義分詞器,分詞器決定着如何從文檔中檢索關鍵字。

  2)analyzer:fieldType下的子元素,這就是傳說中的分詞器,他由一組tokenizer和filter組成

  3)field:創建索引用的字段,若想要這個字段生成索引需要配置他的indexed屬性爲true,stored屬性爲true表示存儲該索引。

4.根據API,用postman測試,API地址:https://lucene.apache.org/solr/guide/8_1/schema-api.html#modify-the-schema

五、中文分詞器

1.將jar包放入WEB-INF的lib中,如圖:

2.在WEB-INF下創建classes,並將文件放入。如圖:

3.選擇分詞

4.測試分詞,打開ADMIN UI界面,操作如圖:

五、SolrJ(Java客戶端)

1.添加maven依賴

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

2.在項目中使用,請參考SolrJ官方文檔

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