1. 程式人生 > >Schema.xml和solrconfig.xml屬性分析

Schema.xml和solrconfig.xml屬性分析

現在我們開始研究載入的資料部分(importing data)

這裡的資料都是免費的,一個大型開放社群提供。

MusicBrainz每天都提供一個數據快照(snapshot)的SQL檔案,這些資料可以被匯入PostgreSQL資料庫中。

一、欄位配置(schema)

schema.xml位於solr/conf/目錄下,類似於資料表配置檔案,

定義了加入索引的資料的資料型別,主要包括type、fields和其他的一些預設設定。

1、先來看下type節點,這裡面定義FieldType子節點,包括name,class,positionIncrementGap等一些引數。

  • name:就是這個FieldType的名稱。
  • class:指向org.apache.solr.analysis包裡面對應的class名稱,用來定義這個型別的行為。
  1. <schemaname="example"version="1.2">
  2.   <types>
  3.     <fieldTypename="string"class="solr.StrField"sortMissingLast="true"omitNorms="true"/>
  4.     <fieldTypename="boolean"class="solr.BoolField"
    sortMissingLast="true"omitNorms="true"/>
  5.     <fieldtypename="binary"class="solr.BinaryField"/>
  6.     <fieldTypename="int"class="solr.TrieIntField"precisionStep="0"omitNorms="true"
  7.                                                                 positionIncrementGap="0"/>
  8.     <fieldType
    name="float"class="solr.TrieFloatField"precisionStep="0"omitNorms="true"
  9.                                                                 positionIncrementGap="0"/>
  10.     <fieldTypename="long"class="solr.TrieLongField"precisionStep="0"omitNorms="true"
  11.                                                                 positionIncrementGap="0"/>
  12.     <fieldTypename="double"class="solr.TrieDoubleField"precisionStep="0"omitNorms="true"
  13.                                                                 positionIncrementGap="0"/>
  14.   ...  
  15.   </types>
  16.   ...  
  17. </schema>

必要的時候fieldType還需要自己定義這個型別的資料在建立索引和進行查詢的時候要使用的分析器analyzer,包括分詞和過濾,如下:

  1. <fieldTypename="text_ws"class="solr.TextField"positionIncrementGap="100">
  2.   <analyzer>
  3.     <tokenizerclass="solr.WhitespaceTokenizerFactory"/>
  4.   </analyzer>
  5. </fieldType>
  6. <fieldTypename="text"class="solr.TextField"positionIncrementGap="100">
  7.   <analyzertype="index">
  8.     <!--這個分詞包是空格分詞,在向索引庫新增text型別的索引時,Solr會首先用空格進行分詞  
  9.          然後把分詞結果依次使用指定的過濾器進行過濾,最後剩下的結果,才會加入到索引庫中以備查詢。  
  10.       注意:Solr的analysis包並沒有帶支援中文的包,需要自己新增中文分詞器,google下。    
  11.      -->
  12.     <tokenizerclass="solr.WhitespaceTokenizerFactory"/>
  13.         <!-- in this example, we will only use synonyms at query time  
  14.         <filterclass="solr.SynonymFilterFactory"synonyms="index_synonyms.txt"
  15.                                                   ignoreCase="true"expand="false"/>
  16.         -->
  17.         <!-- Case insensitive stop word removal.  
  18.           add enablePositionIncrements=true in both the index and query  
  19.           analyzers to leave a 'gap' for more accurate phrase queries.  
  20.         -->
  21.       <filterclass="solr.StopFilterFactory"
  22.                 ignoreCase="true"
  23.                 words="stopwords.txt"
  24.                 enablePositionIncrements="true"
  25.                 />
  26.       <filterclass="solr.WordDelimiterFilterFactory"generateWordParts="1"
  27.               generateNumberParts="1"catenateWords="1"catenateNumbers="1"
  28.               catenateAll="0"splitOnCaseChange="1"/>
  29.       <filterclass="solr.LowerCaseFilterFactory"/>
  30.       <filterclass="solr.SnowballPorterFilterFactory"language="English"
  31.                                                        protected="protwords.txt"/>
  32.     </analyzer>
  33.     <analyzertype="query">
  34.       <tokenizerclass="solr.WhitespaceTokenizerFactory"/>
  35.         <filterclass="solr.SynonymFilterFactory"synonyms="synonyms.txt"ignoreCase="true"
  36.                                                                           expand="true"/>
  37.         <filterclass="solr.StopFilterFactory"
  38.                 ignoreCase="true"
  39.                 words="stopwords.txt"
  40.                 enablePositionIncrements="true"
  41.                 />
  42.         <filterclass="solr.WordDelimiterFilterFactory"generateWordParts="1"
  43.                 generateNumberParts="1"catenateWords=

    相關推薦

    Schema.xmlsolrconfig.xml屬性分析

    現在我們開始研究載入的資料部分(importing data) 這裡的資料都是免費的,一個大型開放社群提供。 MusicBrainz每天都提供一個數據快照(snapshot)的SQL檔案,這些資料可以被匯入PostgreSQL資料庫中。

    SSM的XMLWEB.XML的配置

    erl 視圖 核心 contex select 3.0 agg oct eth 顯示層(handler/controller):   request請求到springmvc的前端控制器,從處理器映射器找相應的handler(用@RequestMapping(" ")標註,

    利用反射與dom4j讀取javabean生成對應XML讀取XML得到對應的javabean物件集合

    首先實現生成對應的JAVAbean的XML檔案方法 /** * DMO4J寫入XML * @param obj 泛型物件 * @param entityPropertys 泛型物件的List集合 * @param Encode

    Tomcat中的Web.xmlservlet.xml的學習

    conf 元素 加載 位置 區別 目的 lte 全局配置 doc Web.xml文件使用總結 作用: 存儲項目相關的配置信息,保護servlet。解耦一些數據對程序的依賴 使用位置: 每個web項目中 Tomcat服務器中(在服務器目錄conf目錄中) 區別: We

    Struts 2.5.17 web.xmlstruts.xml預設配置

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/

    springmvc-沒有web.xmlspringmvc.xml你還可以執行起來springmvc嗎

    前面也寫了幾篇有關springboot的簡單使用的文章,也寫了幾篇有關springcloud的文章,不過springcloud是基於springboot的。所以就來糾結一下springboot的吧。 springboot之所以可以不用使用任何的xml配置檔案就可

    web.xml 中spring-servlet.xml application.xml 配置位置及含義

    在我們進行 Spring-servlet 進行開發的時候,經常會遇到配置檔案配置的問題,要徹底的解決這個問題,我們需要了解 springMVC 設計的基本架構 1.SpringMVC 的配置分為兩部分 application.xml 和 spring-servl

    配置Tomcat時web.xml、server.xmlcontent.xml自動還原問題

    當我們在處理中文亂碼或是配置資料來源時,我們要修改Tomcat下的server.xml和content.xml檔案。 但是當我們修改完後重啟Tomcat伺服器時發現xml檔案又被還原了,修改無效果。 為什麼會還原? Tomcat伺服器在Eclipse中啟動時,會自動釋出Eclipse中部

    hibernate配置檔案hibernate.cfg.xml.hbm.xml的詳細解釋

    hibernate.cfg.xml -標準的XML檔案的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML檔案的編碼方式--> <?xml version='1.0' enc

    DOM,SAX,JDOM,DOM4J優缺點比較及生產xml解析xml

    下載必要的jar包: activation.jar commons-logging-1.0.4.jar dom4j-1.6.1.jar jaxen-1.1.1.jar jdom-1.0.jar 一、DOM 解析器讀入整個文件,然後構建一個駐留記憶體的樹結構,使用 DOM 介

    javaWeb學習(2)——web.xmlpom.xml都是幹嘛用的

    web.xml和pom.xml看起來差不多都是仨字母,檔案字尾都一樣 對於初學者來講,剛接觸這裡面的東西,感覺亂七八糟的傻傻弄不清楚 我也以一個初學者的角度,說說自己的理解 一、POM啥意思呢,百度了一下叫專案物件模型------->該檔案用於管理:原始碼、配置檔案、

    structs2的web.xmlstruct.xml兩個配置檔案的配置

                上篇博文提到了structs2的下載和使用。本文將簡介一下兩個主要的配置檔案web.xml和struct.xml. 1.web.xml檔案 <?xml version="1.0" encoding="UTF-8"?> <web-

    java組裝xml解析xml(jdom使用)

    場景:將一張表一條記錄資料組裝成標準XML,將標準XML解析放入HashMap中 1.組裝XML /** 組裝XML */ public static String formatDataToXml(Map mapdData) { StringBuffer xml = ne

    struts2中struts.xmlweb.xml檔案解析及工作原理

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmln

    struts-2.3.34struts-2.5.16引入jar以及配置web.xmlstruts.xml

    struts-2.3.341. 引入jarasm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar commons-fileupload-1.3.1.jar commons-io-2.2.jar commons-lang3-3.1.ja

    JAXBContext實戰封裝Xml解析Xml

    package test.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.util.Map; import java.util.concurrent.Concurrent

    spring-servlet.xml application.xml 配置含義及bean被載入兩次的問題

    最近在遷移一個專案,原本是RPC服務與API水平拆分的,現在需要垂直拆分,每個RPC服務自己提供http介面,我負責遷移RPC部分,另一個同事負責遷移API部分,涉及到一些配置遷移的時候出現了些小狀

    struts2初學的相關配置(struts.xmlweb.xml)

    Struts2框架概述:1、Struts2框架應用於Java EE三層結構中的WEB層(檢視層);            2、Struts2框架在Struts1和webwork基礎上發展的全新框架;            3、WEB層中的其他框架(Spring MVC);開發

    maven專案的JDK版本的版本配置或者指定JDK版本,最實用的修改settings.xmlpom.xml修改方法,可以解決eplise中的90%因為jdk相容的問題,

    公司近期匯入了一個專案,新專案剛剛匯入就有很多錯誤,這也是java專案的一個通病,根本的原因還是java的jvm虛擬機器的問題,還有各種依賴包的問題,有些問題很明顯,有些問題非常不明顯 下面我就把一些應為jdk版本引起的問題記錄下, 錯誤1:Dynamic We

    [Struts2] 配置檔案struts.xmlweb.xml詳解

     配置檔案struts.xml和web.xml。 其實要使Struts2可以工作,配置很簡單,套模板就好了。而且基本與版本無關。 如,只要struts2需要的基本jar包已經引入,那麼直接配置一下web.xml和struts.xml檔案。 web.xml中包含: <