<?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>
分享到:
相关推荐
- **定义**:`${solr.data.dir:d:/Server/Solr/data}</dataDir>` 这个节点定义了索引数据和日志文件的存放位置。默认情况下,如果没有指定其他路径,则会使用 `d:/Server/Solr/data` 作为存储路径。这对于部署和管理...
solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar solr-mongo-importer-1.1.0.jar
Solr压缩包内包含了Solr服务器的所有必要文件,如配置文件、库文件、核心模块等。在解压后,我们可以看到多个Solr实例(通常称为“core”),每个实例代表一个独立的搜索域。通过修改这些实例的配置文件,我们可以...
solr-dataimporthandler-extras-1.4.0.jar.zip”中,主要包含了一个名为“apache-solr-dataimporthandler-extras-1.4.0.jar”的文件,这个文件是Solr的一个重要组件——DataImportHandler(DIH)的扩展库。...
【课程大纲】第01讲 solr5简介第02讲 solr5之Schema第03讲 solr5之Solrconfig第04讲 solr5单机安装与配置第05讲 solrj基础(一)第06讲 solrj基础(二)第07讲 solrj之SolrBean第08讲 solrj语法详解第09讲 Solrj之...
- **配置**:Solr的配置文件在`conf`目录下,包括schema.xml(定义字段和字段类型)、solrconfig.xml(配置索引和查询行为)等。 - **集合与分片**:在分布式环境中,Solr将数据分为多个集合,每个集合可以进一步...
在Solr中,每个独立的搜索实例被称为一个"Core",每个Core有自己的配置文件、索引和数据。修改web.xml,你可以指定Solr Core的存放位置,确保Solr启动时能找到相关的配置和数据文件。 关于标签,我们看到“同义词”...
2. **配置schema.xml**:在Solr的配置文件`schema.xml`中,定义字段类型(fieldType)并指定使用IKAnalyzer。例如: ```xml <fieldType name="text_ik" class="solr.TextField"> <tokenizer class="org.wltea....
solr搜索框架的中文分词器文件及配置详解供大家下载,亲测可用....编辑cor下路径的managed-schema文件(solr-8.1.1\server\solr\configsets\_default\conf下拷贝到solr_home的具体CORE名称文件夹下的schema文件)
Solr,作为一款开源的全文搜索引擎,其核心配置文件包括`schema.xml`和`solrconfig.xml`,它们是Solr工作方式的基础。在深入理解这两个文件之前,我们需要先了解Solr的基本架构。 **1. Solr架构简介** Solr采用...
2. **配置schema.xml**:接着,你需要在Solr的`conf/schema.xml`文件中声明新的字段类型(FieldType),并将该类型与你的中文字段关联。例如,你可以创建一个名为`text_chinese`的字段类型,然后配置如下: ```xml ...
在 Solr 中,我们需要配置索引库的配置文件,以便 Solr 能够正确地索引数据。配置文件通常包括以下内容: * 索引字段定义 * 数据源定义 * 索引更新策略 在配置文件中,我们需要定义索引字段,例如 ID、名称、描述...
6. **server/solr 目录**:存储了配置集合的目录,每个集合都有自己的配置文件,如`schema.xml`用于定义字段和字段类型,`solrconfig.xml`定义了索引和查询的行为。 7. **contrib 目录**:包含了一些社区贡献的模块...
3. **配置与部署**:Solr的配置文件位于`conf`目录下,包括schema.xml(定义字段和字段类型)、solrconfig.xml(配置索引和查询参数)等。用户可以根据需求自定义这些配置。部署Solr通常涉及解压下载的`solr-4.10.3....
Apache Solr是一个开源的企业级搜索平台,它使用Lucene搜索引擎库的Java实现,提供了一个强大的搜索功能。Apache Solr Reference Guide为用户提供了一套完整的参考手册,涵盖从基本安装、配置到高级搜索技术的全面...
在实际应用中,用户可能需要配置Solr的schema.xml文件,指定使用IKAnalyzer作为默认的字段分析器,同时根据需求选择合适的分词策略。同时,通过solr-analyzer-extra-5.3.jar,用户还可以集成更多的文本处理功能,如...
总之,"跟益达学Solr5之索引文件夹下所有文件"教程涵盖了从安装配置Solr5,创建核心,配置文件索引,到数据导入,查询优化以及监控维护等一系列步骤。通过学习这些内容,你可以掌握如何利用Solr5构建一个强大的文件...
这些配置文件在Solr中的作用至关重要,正确配置它们可以优化索引性能,提高查询效率,同时确保数据的安全性和完整性。在实际使用中,需要根据具体业务需求来调整这些配置,以满足不同的搜索场景。
3. **配置文件解析**:Solr使用XML配置文件来定义其行为,如solrconfig.xml和schema.xml。源码中包含的解析器部分展示了如何读取和解析这些配置。 4. **请求处理**:Solr的核心工作流程是在接收到HTTP请求后,通过...