Apache Solr基本配置

一、安裝solr,以6.4.2爲例

1、下載安裝solr

下載地址:http://www.apache.org/dyn/closer.lua/lucene/solr/6.4.2

2、下載解壓後cmd進入solr-6.4.2\bin目錄並輸入命令:solr start (默認端口8983) 或者 solr start -p xxxx(指定啓動端口)


3、瀏覽器訪問http://localhost:8080/solr,即可看到solr頁面

 

二、 創建core

1、在solr-6.4.2\server\solr文件夾下創建Core的文件夾,如:my_solr。

2、把solr-6.4.2\server\solr\configsets\basic_configs文件下的conf文件夾複製到1中創建的文件夾my_solr裏面。

3、在http://localhost:8080/solr頁面點擊Code Admin,填寫好新增核心的表單,其中name、instanceDir要與1中創建的文件夾名稱一致。點擊Add Core即完成Core的創建。


三、 配置索引字段

方法一:可以在http://localhost:8080/solr裏面選擇自己的核心Core,點擊Scheam進行添加,修改。

方法二:直接在solr-6.4.2\server\solr\my_solr\conf文件夾裏面的managed-schema文件進行添加修改。

   字段配置Field:

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

name:字段名稱

type:字段類型

indexed:是否可被索引

stored:字段內容是否需要返回給搜索結果

  required:字段必須有值

multiValued:是否多值字段,用於數組,集合

       注意:<field name="_version_" type="long" indexed="true" stored="true"/>類似這樣的字段(兩端爲下劃線的字段爲保留字段)爲保留字段。

   動態字段dynamicField:

  <dynamicField name="*_i"type="int" indexed="true" stored="true"/>

   複製字段copyField:

<copyField source="firstName" dest="text"/> 

<copyField source="lastName" dest="text"/> 

把多個字段合併在一起,如上面的firstName和lastName,當搜索text字段時,即搜索firstName和lastName


四、 solrjava中的使用

參考API: https://cwiki.apache.org/confluence/display/solr/Using+SolrJ

五、 配置中文分詞查詢器

1、下載mmseg4j-2.3.0以上版本查詢器: https://github.com/chenlb/mmseg4j-solr

2、下載完後解壓,把mmseg4j-core-1.10.0.jar,mmseg4j-solr-2.3.0.jar放到D:\solr-6.4.2\server\solr-webapp\webapp\WEB-INF\lib文件夾下。

3、配置managed-schema文件,增加如下類內容:

<fieldtype name="text_Complex" class="solr.TextField" positionIncrementGap="100">

  <analyzer>

<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex"/>

  </analyzer>

</fieldtype>

<fieldtype name="text_MaxWord" class="solr.TextField" positionIncrementGap="100">

 <analyzer>

<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" />

</analyzer>

</fieldtype>

<fieldtype name="text_Simple" class="solr.TextField" positionIncrementGap="100">

  <analyzer>

<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple"/>

  </analyzer>

</fieldtype>

4、修改需要分詞的字段type,如:

<field name="title" type="text_Simple" indexed="true" stored="true" multiValued="false" />


六、 上傳文件處理器

 <requestHandler name="/update/extract" startup="lazy" class="solr.extraction.ExtractingRequestHandler" >

      <lst name="defaults">

        <str name="lowernames">false</str>

     <str name="uprefix">ignored_</str>  //文件元數據是加上前綴

     <str name="fmap.meta">ignored_</str>//忽略fmap.meta開頭的

       <str name="captureAttr">true</str>//是否需要文件的格式

      <str name="fmap.content">fcontent</str> // fmap.content賦值給fcontent

       </lst>

  </requestHandler>

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