`

Solr schema.xml文件

    博客分类:
  • solr
 
阅读更多

 

schema.xml是Solr中用户定义字段类型及字段的配置文件
 
一、types节点
 
在节点<types> 中定义 <fieldType>子节点
 
包含属性:
name: FieldType的名称
class: 指向org.apache.solr.analysis包里面对应的class名称,用来定义这个类型的行为
omitNorms: 字段检索时被省略相关的规范
positionIncrementGap:定义在同一个文档中此类型数据的空白间隔,避免短语匹配错误
 
此外还可以建立索引和进行查询的时候要使用的分析器analyzer
 
<schema name="example" version="1.2"> 
<types> 
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0" /> 
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0" /> 
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0" /> 
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true" /> 
<fieldType name="text" class="solr.TextField" positionIncrementGap="100"> 
<analyzer> 
<tokenizer class="solr.WhitespaceTokenizerFactory" /> 
</analyzer> 
</fieldType> 
</types> 
 
......
</schema> 
 
二、fields节点
 
<fields>节点下包含子节点<field>
 
包含属性:
name 字段名字
 
default
    -字段的默认值
indexed=true|false
    -被索引,如果一个字段设为true,那么它可一进行: earchable, sortable, facetable
stored=true|false
    -true 则字段应当可检索
compressed=true|false
    -true 使用gzip压缩存储(只适用 compressable;TextField和StrField)
compressThreshold=<integer>
    -保证压缩到不小于一个大小
multiValued=true|false
    -字段是否可以多个值
omitNorms=true|false
    -true 则字段检索时被省略相关的规范
omitTermFreqAndPositions=true|false
    -true 省略这一领域的长远频率,位置和有效载荷
    
<fields> 
<field name="user_id" type="string" indexed="true" stored="true" required="true" /> 
<field name="name" type="string" indexed="true" stored="true" /> 
<field name="phone" type="string" indexed="false" stored="true" /> 
<field name="email" type="string" indexed="false" stored="true" /> 
<field name="image" type="string" indexed="false" stored="true" /> 
<field name="city_id" type="int" indexed="true" stored="true" /> 
<field name="address" type="string" index="false" stored="true" /> 
<field name="created" type="int" index="false" stored="true" /> 
<field name="all" type="string" index="true" stored="true" />
</fields> 
    
 2.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"/>
 
三、 uniqueKey 设置字段惟一
<uniqueKey>user_id</uniqueKey>  
    
四、默认搜索字段
<defaultSearchField>name</defaultSearchField>
 
五、默认搜索类型
<solrQueryParser defaultOperator="AND|OR" /> 
 
六、copyField 拷贝到另一个字段
<copyField source="name" dest="all"/>
<copyField source="email" dest="all" />
 
schema.xml 例子:
<?xml version="1.0" encoding="UTF-8" ?> 
 
<schema name="example" version="1.2"> 
<types> 
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0" /> 
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0" /> 
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0" /> 
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true" /> 
<fieldType name="text" class="solr.TextField" positionIncrementGap="100"> 
<analyzer> 
<tokenizer class="solr.WhitespaceTokenizerFactory" /> 
</analyzer> 
</fieldType> 
</types> 
 
<fields> 
<field name="user_id" type="string" indexed="true" stored="true" required="true" /> 
<field name="name" type="string" indexed="true" stored="true" /> 
<field name="phone" type="string" indexed="false" stored="true" /> 
<field name="email" type="string" indexed="false" stored="true" multiValued="true" /> 
<field name="image" type="string" indexed="false" stored="true" /> 
<field name="city_id" type="int" indexed="true" stored="true" /> 
<field name="address" type="string" index="false" stored="true" /> 
<field name="created" type="int" index="false" stored="true" /> 
<field name="all" type="string" index="true" stored="true" />
 
<dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>
<dynamicField name="*_s"  type="string"  indexed="true"  stored="true"/>
</fields> 
 
<uniqueKey>user_id</uniqueKey> 
<defaultSearchField>name</defaultSearchField> 
 
<copyField source="name" dest="all" />
<copyField source="phone" dest="all" />
<copyField source="email" dest="all" />
</schema> 
 
分享到:
评论

相关推荐

    solrconfig.xml和schema.xml说明

    ### Solrconfig.xml 和 Schema.xml 说明 #### Solrconfig.xml 概述 Solrconfig.xml 是 Apache Solr 的核心配置文件之一,主要用于定义 Solr 实例如何处理文档的索引与查询请求。该文件中包含了多种配置项,用于...

    ik-analyzer-solr7.zip

    配置文件(如`schema.xml`或`solrconfig.xml`)需要更新以指示Solr使用IKAnalyzer进行分词。JAR库文件(如`ik-analyzer.jar`)则需要添加到Solr的类路径中,以便在运行时能够加载和使用分词器。字典文件通常包含预定...

    ikanalyzer5.5-solr6.5.zip

    2. **配置Solr schema.xml**:在Solr的schema.xml配置文件中,为需要分词的字段指定`&lt;analyzer&gt;`标签,使用IKAnalyzer的类名,如`org.wltea.analyzer.lucene.IKAnalyzer`。 3. **启动Solr**:更新完配置后,重启Solr...

    ik-analyzer-solr7.x.zip

    在“server/solr/configsets/_default/conf”目录下,找到“schema.xml”文件,打开后找到`&lt;fields&gt;`标签,添加一个字段类型定义,如下: ```xml &lt;fieldType name="text_ik" class="solr.TextField" ...

    schema.xml说明

    在Solr搜索服务器中,`schema.xml` 文件扮演着核心配置文件的角色,它定义了索引字段、字段类型以及其他与数据结构相关的设置。正确理解和配置`schema.xml`对于实现高性能的全文检索系统至关重要。 #### 一、Schema...

    solr schema solrconfig 配置文件解析

    Solr,作为一款开源的全文搜索引擎,其核心配置文件包括`schema.xml`和`solrconfig.xml`,它们是Solr工作方式的基础。在深入理解这两个文件之前,我们需要先了解Solr的基本架构。 **1. Solr架构简介** Solr采用...

    ikanalyzer-solr5.zip

    使用这个压缩包,用户可以将IK Analyzer集成到Solr的配置中,通过修改`schema.xml`或`managed-schema`文件,指定使用IK Analyzer作为特定字段的分词器。这通常涉及到在字段类型定义中添加类似以下的配置: ```xml ...

    solr6.x_IK中文分词工具

    4. 配置字段类型(FieldType)使用IK分析器,在`schema.xml`文件中: ```xml &lt;fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100"&gt; &lt;tokenizer class="org.wltea.analyzer.lucene....

    solr4.X所用IKAnalyzer中文分词器jar包

    同时,确保替换相关的配置文件,例如`solrconfig.xml`和`schema.xml`。 3. **配置Solr**:在`solrconfig.xml`中配置分词器,指定使用IKAnalyzer,并在`schema.xml`中定义字段类型,指定该字段使用IKAnalyzer进行...

    solr5.5.x的中文分词IKAnalyzer

    在实际应用中,配置IKAnalyzer与Solr集成时,你需要在Solr的schema.xml或managed-schema文件中定义字段类型,并指定使用IKAnalyzer。例如: ```xml &lt;fieldType name="text_ik" class="solr.TextField" ...

    支持solr6.x的中文分词,对solr7的支持暂时没有测试过

    2. **配置Schema**:在Solr的Schema.xml文件中,为需要进行中文分词的字段定义一个Analyzer,指定使用ikanalyzer。例如: ```xml &lt;fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100"&gt; ...

    IKAnalyzer-solr4.x-update.zip

    通过继承Analyzer编写自定义类UseSmartIKAnalyzer和NotUseSmartIKAnalyzer,实现智能分词和最细粒度分词,支持solr4.7通过配置schema.xml实现不同的分词效果 &lt;fieldType name="text_ik" class="solr.TextField"&gt; ...

    解决solr启动404问题

    Solr的核心配置文件是`solrconfig.xml`和`schema.xml`,它们定义了索引的结构和处理查询的方式。 当你遇到404错误,首先检查Solr是否成功启动。查看日志文件(通常是`logs/solr.log`)以获取更详细的错误信息。如果...

    apache-solr-dataimportscheduler-1.0.zip_official54l_solr 5.x定时生成

    3. **配置DataImportHandler**:在对应的Solr核心的`schema.xml`或`managed-schema`文件中,配置DataImportHandler,包括数据源、查询语句、字段映射等信息。 4. **启动定时任务**:一旦配置完成,重启Solr服务器,...

    solr6.x的IKAnalyzer整合

    打开 `configsets/_default/conf/schema.xml` 文件,找到 `&lt;fields&gt;` 部分,添加一个新的字段类型(fieldType)用于使用 IKAnalyzer,例如: ```xml &lt;fieldType name="text_ik" class="solr.TextField" ...

    ikanalyzer-solr6.zip

    3. **字段类型定义**:在`schema.xml`文件中,为需要使用IK分词器的字段定义一个特定的类型,比如`text_ik`。配置`&lt;fieldType&gt;`标签,设置`class`为`solr.TextField`,并在`&lt;analyzer&gt;`部分引用之前在`solrconfig....

    solr7.x-ik分词器亲测可用.zip

    - 然后,更新 Solr 的 `schema.xml` 文件,定义字段类型,并指定使用 IK 分词器。例如: ```xml &lt;fieldType name="text_ik" class="solr.TextField"&gt; &lt;tokenizer class="org.wltea.analyzer.lucene....

    ikanalyzer-solr5.rar

    集成IKAnalyzer到Solr的过程中,通常需要修改Solr的配置文件,包括solrconfig.xml和schema.xml。在solrconfig.xml中,需要配置分词器的相关参数,如词典路径等;在schema.xml中,需要定义字段类型(fieldType)并...

    solr所需配置文件

    2. **schema.xml**: 此文件定义了Solr的字段类型(FieldTypes)和字段(Fields),用于确定如何存储和处理数据。每个字段都有其特定的类型,如字符串、整数或日期,而且可以设置是否可搜索、可分析、可排序等属性。...

Global site tag (gtag.js) - Google Analytics