Solr schema.xml詳細
typeノード
まずtypeノードを見てみましょう.ここでは、name、class、positionIncrementGapなどのパラメータを含むFieldTypeサブノードを定義します.必須パラメータ:
その他のオプション属性:
構成ではstringタイプのclassはsolr.StrFieldは、このフィールドは分析されずに格納されます.つまり、分詞されません.
文章や長いテキストでは、特定のフィールドを検索したときに正しい結果を出すことができるように、分詞する必要があります.別のclassを使うことができますsolrTextField.これにより、ユーザーはアナライザを使用してインデックスとクエリーをカスタマイズできます.アナライザには、1つの単語(tokenizer)と複数のフィルタ(filter)が含まれます.
1つの標準的な分詞:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
</analyzer>
</fieldType>
fieldType, field 。 analyzer, index, query,index ,query 。
tokenizer Tokenizer。 2 filter, solr.StopFilterFactory,solr.LowerCaseFilterFactory。stop word filter the、 of、 on token , , , 。Lower case filter token , index
analyzer, mmseg4j :
<fieldType name="text_zh" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" />
</analyzer>
</fieldType>
filedノード
filed 。
- name: , 。
- type: ika text_ika, fieldType name。 ,string , , type。
- indexed: , true (earchable、 sortable、 facetable)。
- stored: , , false 。
- multiValued: ,SOLR 。 true, 。
- omitNorms: Norm, , field need an index-time boost field norm。( , )
- termVectors: true, term vector。 MoreLikeThis, field 。
- termPositions: term vector , 。
- termOffsets: term vector , 。
- default: , 。
- docValues:Solr 4.2
- docValuesFormat: Disk Memory
:
<field name="manu_exact" type="string" indexed="false" stored="false" multiValued="true"
docValues="true" />
copyFieldノード
? , copyField。 :
<copyField source="name" dest="all" maxChars="30000"/>
<copyField source="address" dest="all" maxChars="30000"/>
:
- field ,
- field , 2
all , , all OK 。
:
- source: field
- dest: field
- maxChars:
, , , 。indexed true,stored false。
copyField field fields 。
dynamicFieldノード
, , dynamicField
:name *_i
、そのtypeをintとして すると、このフィールドを するとき、タスクが_i
で したフィールドは、この に するとみなされる. えばname_i
、school_i
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>
<dynamicField name="*_s" type="string" indexed="true" stored="true"/>
<dynamicField name="*_l" type="long" indexed="true" stored="true"/>
UniqueKeyノード
solrは、uniqueKeyノードで された のフィールドをidに する があります.
:<uniqueKey>id</uniqueKey>
defaultSearchFieldノード
デフォルトで するフィールドは、 するフィールドをallフィールドにコピーしました.ここでallに すればいいです.<defaultSearchField>all</defaultSearchField>
solrQueryParserノード
デフォルトの オペレータパラメータ、および フレーズ の は、ANDで を げ、ORでカバーを やし、ANDを し、 で することもできます. えば「 アップル」を し、ANDを って「 ANDアップル」とデフォルトで します.<solrQueryParser defaultOperator="OR"/>