Solr-6.5.1 配置schema.xml
来源:互联网 发布:羞羞的铁拳网络平台 编辑:程序博客网 时间:2024/05/22 21:50
目录
solr-6.5.1的schema.xml目录为下图所示:
注意:其中solrhome为自定义的solrhome文件名称,db为自定义的core名称
常见配置如下:
<?xml version="1.0" encoding="UTF-8" ?> 略...<!-- 这是Solr的schema文件,应该命名为schema.xml,并且在solr home的conf目录下(如,默认在./solr/conf/schema.xml). 有关如何根据需要定制化该文件,请参照: http://wiki.apache.org/solr/SchemaXml 性能须知: 这里包含了很多实际应用不需要的可选项。 为改善性能,你可以: - 尽量将所有仅用于搜索,而不用于实际返回的字段设置stored="false"; - 尽量将所有仅用于返回,而不用于搜索的字段设置indexed="false"; - 去掉所有不需要的copyField 语句; - 为了达到最佳的索引大小和搜索性能,对所有的文本字段设置indexed="false", 使用copyField将他们拷贝到“整合字段”name="text"的字段中,使用整合字段进行搜索; - 使用server模式来运行JVM,同时将log级别调高, 避免输出所有请求的日志。--><schema name="example" version="1.5"> 略... <fields> <!-- fields各个属性说明: name: 必须属性 - 字段名 type: 必须属性 - <types>中定义的字段类型 indexed: 如果字段需要被索引(用于搜索或排序),属性值设置为true stored: 如果字段内容需要被返回,值设置为true docValues: 如果这个字段应该有文档值(doc values),设置为true。文档值在门 面搜索,分组,排序和函数查询中会非常有用。虽然不是必须的,而且会导致生成 索引变大变慢,但这样设置会使索引加载更快,更加NRT友好,更高的内存使用效率。 然而也有一些使用限制:目前仅支持StrField, UUIDField和所有 Trie*Fields, 并且依赖字段类型, 可能要求字段为单值(single-valued)的,必须的或者有默认值。 multiValued: 如果这个字段在每个文档中可能包含多个值,设置为true termVectors: [false] 设置为true后,会保存所给字段的相关向量(vector) 当使用MoreLikeThis时, 用于相似度判断的字段需要设置为stored来达到最佳性能. termPositions: 保存和向量相关的位置信息,会增加存储开销 termOffsets: 保存 offset 和向量相关的信息,会增加存储开销 required: 字段必须有值,否则会抛异常 default: 在增加文档时,可以根据需要为字段设置一个默认值,防止为空 --> <!-- 字段名由字母数字下划线组成,且不能以数字开头。两端为下划线的字段为保留字段, 如(_version_)。 --> <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="title" type="text_general" indexed="true" stored="true" multiValued="true"/> <field name="description" type="text_general" indexed="true" stored="true"/> <field name="author" type="text_general" indexed="true" stored="true"/> <field name="keywords" type="text_general" indexed="true" stored="true"/> <field name="category" type="text_general" indexed="true" stored="true"/> <field name="url" type="text_general" indexed="true" stored="true"/> <field name="last_modified" type="date" indexed="true" stored="true"/> <!-- 注意: 为了节省空间,这个字段默认不被索引, 因使用copyField被拷贝到了名为text的字段中 。用于内容返回和高亮。搜索时使用text字段 --> <field name="content" type="text_general" indexed="false" stored="true" multiValued="true"/> <!-- 整合字段(catchall field), 包含其他可搜索的字段 (通过copyField实现) --> <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/> <!-- 保留字段,不能删除,否则报错 --> <field name="_version_" type="long" indexed="true" stored="true"/> </fields> <!-- 文档的唯一标识,可理解为主键,除非标识为required="false", 否则值不能为空--> <uniqueKey>id</uniqueKey> <!-- 拷贝需要索引的字段到整合字段中 --> <copyField source="title" dest="text"/> <copyField source="author" dest="text"/> <copyField source="description" dest="text"/> <copyField source="keywords" dest="text"/> <copyField source="content" dest="text"/> <copyField source="url" dest="text"/> <types> <!-- 字段类型定义 --> <fieldType name="string" class="solr.StrField" sortMissingLast="true" /> <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/> <fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/> 略... <!-- Thai,泰语类型字段 --> <fieldType name="text_th" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.ThaiWordFilterFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_th.txt" /> </analyzer> </fieldType> <!-- Turkish,土耳其语类型字段 --> <fieldType name="text_tr" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.TurkishLowerCaseFilterFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="false" words="lang/stopwords_tr.txt" /> <filter class="solr.SnowballPorterFilterFactory" language="Turkish"/> </analyzer> </fieldType> <!-- Chinese,需要我们自己配置,整合mmseg4j就配置在这里 --> </types> <!-- 文档相似度判断依赖于文档相似度得分。 一个自定义的 Similarity 或 SimilarityFactory 可以在这里指定, 但是默认的设置已经适合大多数应用。可以参考: http://wiki.apache.org/solr/SchemaXml#Similarity --> <!-- <similarity class="com.example.solr.CustomSimilarityFactory"> <str name="paramkey">param value</str> </similarity> --></schema>
以下为本人自定义的schema,如下:
<?xml version="1.0" encoding="UTF-8" ?><schema name="example-DIH-db" version="1.6"> <!-- 保留字段,不能删除,否则报错 --> <field name="_version_" type="long" indexed="true" stored="true"/> <!-- 保留字段,整合字段,包含其他可搜索的字段 (通过copyField实现) --> <field name="text" type="string" indexed="true" stored="false" multiValued="true"/> <!-- fields各个属性说明: name: 必须属性 - 字段名 type: 必须属性 - <types>中定义的字段类型 indexed: 如果字段需要被索引(用于搜索或排序),属性值设置为true stored: 如果字段内容需要被返回,值设置为true docValues: 如果这个字段应该有文档值(doc values),设置为true。文档值在门 面搜索,分组,排序和函数查询中会非常有用。虽然不是必须的,而且会导致生成 索引变大变慢,但这样设置会使索引加载更快,更加NRT友好,更高的内存使用效率。 然而也有一些使用限制:目前仅支持StrField, UUIDField和所有 Trie*Fields, 并且依赖字段类型, 可能要求字段为单值(single-valued)的,必须的或者有默认值。 multiValued: 如果这个字段在每个文档中可能包含多个值,设置为true termVectors: [false] 设置为true后,会保存所给字段的相关向量(vector) 当使用MoreLikeThis时, 用于相似度判断的字段需要设置为stored来达到最佳性能. termPositions: 保存和向量相关的位置信息,会增加存储开销 termOffsets: 保存 offset 和向量相关的信息,会增加存储开销 required: 字段必须有值,否则会抛异常 default: 在增加文档时,可以根据需要为字段设置一个默认值,防止为空 --> <!-- 字段名由字母数字下划线组成,且不能以数字开头。两端为下划线的字段为保留字段, 如(_version_)。 --> <!-- 注意:如果为主键,indexed="true"一定要为true,为false会报异常 --> <field name="goodsName" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="goodsPrice" type="double" indexed="false" stored="true" required="true" multiValued="false" /> <!-- 文档的唯一标识,可理解为主键,除非标识为required="false", 否则值不能为空--> <!-- 注意:如果为主键,indexed="true"一定要为true,为false会报异常 --> <uniqueKey>goodsName</uniqueKey> <!-- 字段类型定义 --> <types> <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/> <fieldType name="string" class="solr.StrField" sortMissingLast="true" /> <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/> </types></schema>
阅读全文
0 0
- Solr-6.5.1 配置schema.xml
- solr schema.xml配置总结
- solr配置schema.xml学习
- Solr schema.xml配置详解
- solr schema.xml 的配置说明
- Solr之模式配置Schema.xml。
- solr schema.xml 解析
- solr的schema.xml
- solr schema.xml
- solr schema.xml
- solr schema.xml
- Solr Schema.xml示例
- solr Schema.xml详解
- Solr之Schema.xml
- Solr配置,schema.xml的配置,以及中文分词
- Solr配置,schema.xml的配置,以及中文分词
- Solr-----5、Solr Schema配置
- Solr III——schema.xml的配置
- 文字无缝滚动
- 分治算法经典例题 寻找假币
- Android应用签名
- 使用阻塞队列爬取代理ip实现爬虫
- 程序员之路
- Solr-6.5.1 配置schema.xml
- hdu1299 素因子分解
- c语言基础(一)语法篇
- Win10批处理宽带管理
- 【原创】关于Atom安装插件失败解决方案
- 第十六周
- j2ee的web项目中的跨域,什么意思?跨域,即js跨域,是A工程的js不能访问B工程的脚本
- css3实现幻灯片效果
- 本地安装yum脚本