1. 程式人生 > >(三)Solr——Solr的基本使用

(三)Solr——Solr的基本使用

eight 技術 des 導入 ron store 分享 schema font

1. Schema.xml

schema.xml文件中主要配置了solrcore的一些數據信息包括FieldFieldType的定義等信息solrFieldFieldType都需要先定義後使用

技術分享

1.1 Filed(定義Field域)

技術分享

  • Name:指定域的名稱
  • Type:指定域的類型
  • Indexed:是否索引
  • Stored:是否存儲
  • Required:是否必須
  • multiValued:是否多值比如商品信息中一個商品有多張圖片,一個Field像存儲多個值的話,必須將multiValued設置為true

1.2 dynamicField(動態域)

技術分享

  • Name:指定動態域的命名規則

1.3 uniqueKey(指定唯一鍵)

技術分享

其中的id是在Field標簽中已經定義好的域名,而且該域要設置為requiredtrue

一個schema.xml文件中必須有且僅有一個唯一鍵

1.4 copyField(復制域)

技術分享

  • Source:要復制的源域的域名
  • Dest:目標域的域名

dest指的的目標域,必須設置multiValuedtrue

1.5 FieldType(定義域的類型)

<fieldType name="text_general" class="solr.TextField" positionIncrementGap
="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <!-- in this example, we will only use synonyms at query time <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
--> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
  • Name:指定域類型的名稱
  • Class:指定該域類型對應的solr的類型
  • Analyzer:指定分析器
  • Type:index、query,分別指定搜索和索引時的分析器
  • Tokenizer:指定分詞器
  • Filter:指定過濾器

2. 中文分詞器(ikanalyzer)

第一步ikanalyzerjar包拷貝到以下目錄

技術分享

第二步:將ikanalyzer的擴展詞庫的配置文件拷貝到 目錄

技術分享

第三步配置FieldType

技術分享

第四步配置使用中文分詞的Field

技術分享

第五步重啟tomcat

技術分享

3. Dataimport(該插件可以將數據庫中指定的sql語句的結果導入到solr索引庫中)

第一步:添加Dataimport的jar

復制以下目錄的jar

技術分享

添加到以下目錄(lib目錄需要新建)

技術分享

修改solrconfig.xml文件添加lib標簽

<lib dir="${solr.install.dir:../..}/contrib/dataimporthandler/lib" regex=".*\.jar" />

mysql的驅動包復制到以下目錄

技術分享

修改solrconfig.xml文件添加lib標簽

<lib dir="${solr.install.dir:../..}/contrib/db/lib" regex=".*\.jar" />

第二步配置requestHandler

solrconfig.xml添加一個dataimportrequestHandler

技術分享

第三步:創建data-config.xml

solrconfig.xml同級目錄下創建data-config.xml

技術分享

第四步:重啟tomcat

技術分享

(三)Solr——Solr的基本使用