接 Solr-4.10.2与Tomcat整合。schema.xml位于D:\solr\data\solr\collection1\conf\中。1、fieldType节点 name: FieldType的名称 class: 指向org.apache.solr.analysis包里面对应的class名称,用来定义这个类型的行为 omitNorms: 字段检索时被省略相关的规范 positionIncrementGap:定义在同一个文档中此类型数据的空白间隔,避免短语匹配错误 此外还可以建立索引和进行查询的时候要使用的分析器analyzer2、fields节点 name:字段名 type:之前定义过的各种FieldType indexed=true|false,是否被索引,如果一个字段设为true,那么它可以进行: earchable, sortable, facetable stored=true|false,是否被存储(如果不需要存储相应字段值,尽量设为false) default :字段的默认值 compressed=true|false,true 使用gzip压缩存储(只适用 compressable;TextField和StrField) compressThreshold=<integer> 保证压缩到不小于一个大小 multiValued=true|false,是否有多个值(对可能存在多值的字段尽量设置为true,避免建索引时抛出错误) omitNorms=true|false,true 则字段检索时被省略相关的规范 omitTermFreqAndPositions=true|false,true 省略这一领域的长远频率,位置和有效载荷3、copyField复制节点 source:数据来源,fields中的name dest: 目的地,fields中的name4、dynamicField动态节点 name:字段名 type:之前定义过的各种FieldType indexed=true|false,是否被索引,如果一个字段设为true,那么它可以进行: earchable, sortable, facetable stored=true|false,是否被存储(如果不需要存储相应字段值,尽量设为false)5、uniqueKey uniqueKey 设置字段惟一,<uniqueKey>user_id</uniqueKey> 文档的唯一标识, 必须填写这个field(除非该field被标记required="false"),否则solr建立索引报错。6、默认搜索字段 <defaultSearchField>name</defaultSearchField> 如果搜索参数中没有指定具体的field,那么这是默认的域。7、默认搜索类型 <solrQueryParser defaultOperator="OR" /> 配置搜索参数短语间的逻辑,可以是"AND|OR"。8、< schema name =" example " version =" 1.2 " > name:标识这个schema的名字 version:现在版本是1.29、为了改进性能,可以采取以下几种措施: 将所有只用于搜索的,而不需要作为结果的field(特别是一些比较大的field)的stored设置为false 将不需要被用于搜索的,而只是作为结果返回的field的indexed设置为false 删除所有不必要的copyField声明 为了索引字段的最小化和搜索的效率,将所有的 text fields的index都设置成field,然后使用copyField将他们都复制到一个总的 text field上,然后对他进行搜索。 为了最大化搜索效率,使用java编写的客户端与solr交互(使用流通信) 在服务器端运行JVM(省去网络通信),使用尽可能高的Log输出等级,减少日志量。
转载于:https://www.cnblogs.com/robertsun/p/4176783.html
