`

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.

    schema.xml说明

    solr中的schema.xml说明

    IKAnalyzer-solr4.x-update.zip

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

    ik-analyzer-solr7.zip

    2.将`resources`目录下的5个配置文件放入solr服务的`Jetty`或`Tomcat`的`webapp/WEB-INF/classes/`目录下; ```console ① IKAnalyzer.cfg.xml ② ext.dic ③ stopword.dic ④ ik.conf ⑤ dynamicdic.txt 3. ...

    solar1.4环境配置

    solr-1.4.1 环境配置: 1、 下载所需软件,安装配置...在X:\solr\solr\conf当中有schema.xml文件,可以配置索引数据格式。 5、运行solr 启动Tomcat,访问http://localhost:8983 6、添加索引 7、添加中文分词

    solr基础知识介绍

    5.1 schema.xml 9 5.1.1 文件分析 9 5.1.2 文档注释 13 5.2 solrconfig.xml 16 6.Solr缓存 18 6.1 filterCache 18 6.2 queryResultCache 18 6.3 documentCache 19 7.solrj wiki 19 7.1 SolrJ/Solr cross-version ...

    solr所需资源下载(数据导入、分词器、数据库连接jar、配置文件、managed-schema)

    包括solr的所有资源文件文件清单如下: IKAnalyzer.cfg.xml ik-analyzer-solr5-5.x.jar solr-analyzer-ik-5.1.0.jar managed-schema mysql-connector-java-5.1.7-bin.jar solrconfig.xml data-config.xml ext.dic ...

    已编译版本solr-8.11.2.tgz

    用户可以通过http请求,向搜索引擎服务提供一定格式的xml文件,生成索引;也可以通过http get 操作提供查找请求,并得到xml格式的返回结果 2.,solr特点 Solr是一个高性能,采用java语言,基于Lucene开发的全文...

    基于java-solr-geo空间坐标搜索、距离排序、分页

    基于solr-geo空间搜索 1、Solr的schema.xml配置 定义坐标field 2、Solr的data-config.xml配置 建立索引 3、java查询语法 坐标距离、分页、排序

    支持solr 5.3.0的IKAnalyzer中文分词器

    附上IK在schema.xml中的配置: &lt;fieldType name="text_ik" class="solr.TextField"&gt; &lt;analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/&gt; ...

    django-haystack-solr-commands:manage.py solr

    Solr 5.0.0易于使用云核心和自动托管模式进行部署,但无需复制任何schema.xml文件。 Solr 5.0.0可以使用Schema REST API编辑核心的配置。 Solr 5.0.0打破了Haystack版本2.3.1,因为默认情况下它使用托管模式,并且...

    solr全文检索

    里面有关于solr环境搭建的详细文档说明,还有schema.xml,solrconfig.xml这两个文件里的配置说明,还有创建索引,删除索引的代码。及性能的优化。

    SOLR的应用教程

    3.4.1 Solr Schema 设计(如何定制索引的结构?) 34 3.5 如何进行索引操作? 36 3.5.1 基本索引操作 36 3.5.2 批量索引操作 37 3.6 如何进行搜索 39 3.6.1 搜索语法 39 3.6.2 排序 42 3.6.3 字段增加权重 42 3.6.4 ...

    SearchSchemer:适用于Solr,Elasticsearch和Sensei的多向模式转换器

    -outputFile --outputType其中: inputFile-要读取的配置文件inputType-输入配置类型outputFile-输出配置文件outputType-输出配置类型inputType和outputType属性可以采用以下值: solr-用于Solr schema.xml elastic...

    Apache-Solr-Reference-Guide-v3.5

    It explains how a Solr schema defines the fields and field types which Solr use to organize data within the document files it indexes. : This section explains how Solr prepares Understanding ...

    中文分词器IK Analyzer 2012FF_hf1

    在solrcode的schema.xml文件中的配置如下: 配置中文分词器的fieldType: &lt;fieldType name="text_ik" class="solr.TextField"&gt; &lt;analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene....

    IKAnalyzer分词器 下载IKAnalyzer2012FF_u1.jar

    4.修改 /opt/cdhsolr/fuser/conf/schema.xml文件,在其中添加 &lt;!--配置IK分词器--&gt; 引用 &lt;fieldType name="text_ik" class="solr.TextField"&gt; &lt;!--索引时候的分词器--&gt; ...

    IKAnalyzer2012FF_u1.jar

    4.修改 /opt/cdhsolr/fuser/conf/schema.xml文件,在其中添加 &lt;!--配置IK分词器--&gt; 引用 &lt;fieldType name="text_ik" class="solr .TextField"&gt; &lt;!--索引时候的分词器--&gt; ...

    ansj分词jar包

    solr配置ansj,managed-schema.xml中配置 &lt;fieldType name="text_ansj" class="solr.TextField" positionIncrementGap="100"&gt; &lt;tokenizer class="org.ansj.lucene.util.AnsjTokenizerFactory" isQuery="false"/...

    IKAnalyzer2012FF_u1

    3、在 盘符:\solr\home\collection1\conf\schema.xml中配置以下配置 &lt;fieldType name="text_ik" class="solr.TextField"&gt; &lt;analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IK...

Global site tag (gtag.js) - Google Analytics