solr官方文档翻译系列之schema.xml配置介绍
常见的元素
<field name="weight" type="float" indexed="true" stored="true"/>
<dynamicField name="*_is" type="int" indexed="true" stored="true" multiValued="true"/>
<copyField source="cat" dest="text"/>
其中field和copyField是平时开发需要修改的地方
schema.xml概述
schema.xml 文件包含所有的细节,这些细节包括你的多个文档可以包含哪些字段;添加多个文档到索引,或者查询这些字段的时候这些字段是如何处理的。
多条查询的分析可以单独指定,在大多数环境下可以自动处理小写字母通配符查询
这个例子schema是推荐给用户学习的入门例子。它应该保持正确性、简洁性、可用性、开箱即用。
执行需要注意的地方:这个schema包含许多可选的特性,不应该被用来作为基准例子。为了提高性能,我们可以这样做:
stored=false表示你只需要搜索到这个字段,但是不需要返回原始的值
indexed=false表示如果你不需要搜索这个字段,但是只是返回这个字段作为搜索其他索引字段的结果
删除所有不需要的copyField语句
为了最好的索引大小和搜索性能,对所有一般的text字段设置index=false,用copyField字段将他们拷贝到大杂烩text字段,使用text进行搜索
为了最大化索引的性能,使用多线程更新solr服务java客户端
记住以服务器模式运行JVM,使用更高级别的日子记录方式以避免日志记录每一个请求
具体内容
1、数据类型
<types>部分允许你定义一系列你想在schema中使用的<fieldtype>声明,以及类型会使用的底层的solr类,以及使用类型的字段的默认配置。
任何FieldType的子类必须作为一个字段类型类,要么使用它所有的包名,要么使用solr(如果它在默认的solr包中)。对于一般的数字类型,根据你的需求有多种实现方式。
请参照 SolrPlugins 了解如何确保你自己的一般字段类型被solr加载。
字段类型的一般选项包括:
sortMissingLast=true|false
sortMissingFirst=true|false
indexed=true|false
stored=true|false
multiValued=true|false
omitNorms=true|false
omitTermFreqAndPositions=true|false
Solr1.4omitPositions=true|false
Solr3.4positionIncrementGap=N
autoGeneratePhraseQueries=true|false (in schema version 1.4 and later this now defaults to false)
postingsFormat=<name of a postings format>
Solr4.0, only works if you use a codec factory that is schema-aware such as SchemaCodecFactory. Please note that the postings formats used in a fieldType definition need to be in any of Solr lib directories. (For example, some useful (but unsupported) postings formats are available in the lucene-codecs JAR.). For detailed instructions on how to configure SimpleTextCodec, see: SimpleTextCodec Example
2、各种字段
2
2.1、推荐字段
3
2.2、一般字段选项
4
2.3、动态字段
5
2.4、多个字段中索引同样的内容
6
2.5、高级字段选项
7
3、 各种各样设置
8
参考文档:http://wiki.apache.org/solr/,http://wiki.apache.org/solr/SchemaXml。个人翻译理解不正确的地方,欢迎批评指正
solr官方文档翻译系列之schema.xml配置介绍的更多相关文章
- yarn-site.xml 配置介绍
yarn-site.xml 配置介绍 yarn.scheduler.minimum-allocation-mb yarn.scheduler.maximum-allocation-mb 说明:单个容器 ...
- SOLR企业搜索平台 三 (schema.xml配置和solrj的使用)
标签:solrj 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://3961409.blog.51cto.com/3951409/8 ...
- solr的schema.xml配置属性解释
schema.xml做什么? SOLR加载数据,创建索引和数据时,核心数据结构的配置文件是schema.xml,该配置文件主要用于配置数据源,字段类型定义,搜索类型定义等.schema.xml的配置直 ...
- Solr官方文档翻译-About & Getting Started
关于(About) 官方文档介绍了所有的Apache Solr实现的重要特性和功能.它是免费的,可以到http://lucene.apache.org/solr/下载. 为了更加的深入和广泛,设计成一 ...
- 指尖上的电商---(5)schema.xml配置具体解释
这一节我们看下schema.xml文件中各个节点的配置极其作用.schema.xml文件中面主要定义了索引数据类型,索引字段等信息. 主要包含了下面节点 1.fieldtype节点 fieldtype ...
- SUSE12SP3-Mycat(2)Schema.xml配置详解
简介 Schema.xml 作为 MyCat 中重要的配置文件之一,管理着 MyCat 的逻辑库.表.分片规则.DataNode 以及 DataSource.弄懂这些配置,是正确使用 MyCat 的前 ...
- Haproxy官方文档翻译(第二章)配置Haproxy 附英文原文
2.配置 HAProxy 2.1 配置文件格式 Haproxy的配置过程包含了3部分的参数资源:- 命令行中的参数,此种参数总是享有优先权被使用- 配置文件中global节点中的参数,此种参数是进程范 ...
- web.xml 配置介绍
这个不是原创,有点早了,具体从哪里来的已经记不得了.但是东西是实实在在的. 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<c ...
- [刘阳Java]_Spring AOP基于XML配置介绍_第9讲
基于注解配置的Spring AOP固然简单,但是这节我们会给大家介绍基于XML配置的AOP是如何应用的.为什么这么说了,因为后面我们还会介绍到Spring对Dao操作的事务管理(基于AOP的XML文件 ...
随机推荐
- ActiveX相关
ActiveX 1.创建ActiveXhttp://blog.csdn.net/fww330666557/article/details/6533118 继承IObjectSafety接口http:/ ...
- oracle之分组内的字符串连接
实现效果: 例如下面的数据[php] groupid personid name 1 a 超级管理员2 b ...
- js在html中的加载执行顺序
1.加载顺序:引入标记<script />的出现顺序,依次加载 页面上的Javascript代码是HTML文档的一部分,所以Javascript在页面装载时执行的顺序就是其引入标记< ...
- set_time_limit() 控制页面运行时间
当你的页面有大量数据时,建议使用set_time_limit()来控制运行时间,默认是30s,所以需要你将执行时间加长点,如 set_time_limit(300) ,其中将秒数设为0 ,表示持续运 ...
- Nginx源码研究六:NGINX的配置文件分析
上一篇写到nginx的各个模块的配置信息的存储结构,大体描述了对配置信息的配置项生成,定制,初始化过程.这里重点研究实现定制的过程,所谓实现定制,这里指的是,nginx系统提供使用者定义nginx的配 ...
- 移动端html5重力感应
下面是测试案例,只测试过itouch,iphone http://06wjin.sinaapp.com/billd/ http://06wjin.sinaapp.com/billd/test. ...
- PHP图的绘制1
最近在学习php图的绘制,写的代码放上来,供自己以后学习查看: <?php //*函数说明: //这个函数返回的是 // resource imagecreate ( int $x_size , ...
- python运维开发之第十天
一.多进程 1.进程模块 multiprocessing 简单的创建一个进程 #!/usr/bin/env python # -*- coding: utf- -*- # @Author : Will ...
- 关于System.out.println()与System.out.print("\n")的区别
这是在写junit测试的时候发现的. import java.io.ByteArrayOutputStream; import java.io.PrintStream; public class Te ...
- iOS开发——常用宏的定义
有些时候,我们需要将代码简洁化,这样便于读代码.我们可以将一些不变的东东抽取出来,将变化的东西作为参数.定义为宏,这样在写的时候就简单多了. 下面例举了一些常用的宏定义和大家分享: 1. 判断设备的操 ...