Linux--solr配置中文分析器

    中文分析器的原理是:用戶給solr很多信息,經過查詢找到你想要的信息。輸入所有信息的部分稱爲索引更新在Solr中,文檔由字段組成可以通過指定字段類型來告訴Solr字段包含的數據類型字段類型告訴Solr如何解釋字段以及如何查詢字段。字段可以包含不同種類的數據。Solr將獲取文檔字段中的信息並將該信息添加到索引。當用戶執行查詢時,Solr可以快速查閱索引並返回匹配的文檔。字段分析告訴Solr構建索引時如何處理傳入數據。這個過程的更準確的名稱將被處理,甚至消化,但官方名稱是分析

創建一個核心

    如果沒有使用示例配置啓動Solr,則需要創建一個核心才能進行索引和搜索。通過運行:

bin/solr create -c <自定義實例名稱>


    這將創建一個使用數據驅動架構的核心,當將文檔添加到索引時,該架構會嘗試猜測正確的字段類型。

    要查看創建新內核的所有可用選項,請執行:

bin/solr create -help

Solr的配置文件


  • solr.xml爲您的Solr服務器實例指定配置選項

  • 每個Solr核心:

    • core.properties爲每個核心定義特定的屬性,例如其名稱,核心所屬的集合,模式的位置以及其他參數

    • solrconfig.xml控制高層行爲。例如,您可以爲數據目錄指定一個備用位置。

    • managed-schema(或者schema.xml改爲)描述您將要求Solr編制索引的文檔。Schema將文檔定義爲字段集合。您可以定義字段類型和字段本身。字段類型定義功能強大,包含有關Solr如何處理傳入字段值和查詢值的信息。

    • data/ 包含低級索引文件的目錄。

Solr添加字段

瀏覽器添加

    在Core Selector選擇Order





orderName已經添加成功

另外有一種方法,從配置文件conf/managed-schema中添加字段從而實現中文分析器的目的。


配置業務域

schema.xml中定義:

    1、商品Id

    2、商品標題

    3、商品賣點

    4、商品價格

    5、商品圖片

    6、分類名稱

創建對應的業務域。需要制定中文分析器。


創建步驟:

第一步:拷貝jar包

cp /usr/local/solr/solr-7.2.1/dist/solr-dataimporthandler-7.2.1.jar  /usr/local/solr/tomcat8/webapps/solr/WEB-INF/lib/ 
cp /usr/local/solr/solr-7.2.1/contrib/analysis-extras/lucene-libs/*  /usr/local/solr/tomcat8/webapps/solr/WEB-INF/lib/ 

第二步:配置一個FieldType,制定使用中文分析器。

    修改/usr/local/solr-7.2.1/server/solr/core1/conf路徑下的schema.xml文件

    修改Solr的schema.xml文件,添加FieldType:

<!-- ChineseAnalyzer -->  
    <fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">  
      <analyzer type="index">  
        <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>  
      </analyzer>  
      <analyzer type="query">  
        <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>  
      </analyzer>  
    </fieldType>


第三步:配置業務域,type制定使用自定義的FieldType。

    設置業務系統Field

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

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

<field name="item_price"  type="long" indexed="true" stored="true"/>

<field name="item_image" type="string" indexed="false" stored="true" />

<field name="item_category_name" type="string" indexed="true" stored="true" />

 

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

<copyField source="item_title" dest="item_keywords"/>

<copyField source="item_sell_point" dest="item_keywords"/>

<copyField source="item_category_name" dest="item_keywords"/>

第四步:重啓solr服務

介紹完畢!



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