schema.xml文件中各个节点的配置极其作用。
schema.xml配置文件是用于定义index索引库的结构,有点类似于数据表表的定义。
schema.xml文件里面主要定义了索引数据类型,索引字段等信息。
主要包括了以下节点
1.fieldtype节点
fieldtype节点主要用来定义数据类型。
<fieldType name="string" sortMissingLast="true" class="solr.StrField"/> <!-- boolean type: "true" or "false" --> <fieldType name="boolean" sortMissingLast="true" class="solr.BoolField"/>
name指定的是节点定义的名称
class指向org.apache.solr.analysis中定义的类型名称
fieldtype还可以自己定义当前类型,建立索引(index)和查询数据(query)的时候使用的查询分析器。
analyzer指定查询分析器
tokenizer指定分词器
filter指定过滤器
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/> <filter class="solr.SynonymFilterFactory" ignoreCase="true" expand="true" synonyms="synonyms.txt"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
positionIncrementGap:可选属性,定义在同一个文档中此类型数据的空白间隔,避免短语匹配错误。
positionIncrementGap=100 只对 multiValue = true 的fieldType有意义。
StrField类型不被分析,而是被逐字地索引/存储
solr.TextField 允许用户通过分析器来定制索引和查询,分析器包括一个分词器(tokenizer)和多个过滤器(filter)
2.field节点
field节点指定建立索引和查询数据的字段。
name代表数据字段名称
type代表数据类型,也就是之前定义的fieldtype
indexed代表是否被索引
stored代表是否被存储
multiValued是否有多个值,如果字段可能有多个值,尽可能设为true
_version节点和root节点是必须保留的,不能删除
<field name="_version_" stored="true" indexed="true" type="long"/> <field name="_root_" stored="false" indexed="true" type="string"/> <field name="ProductCode" stored="true" indexed="true" type="string" multiValued="false" required="true"/> <field name="ProductName" stored="true" indexed="true" type="text_general"/>
3.copyfield节点
通过这个节点,可以把一个字段的值复制到另一个字段中,也可以把多个字段的值同时复制到另一个字段中,这样搜索的时候都可以根据一个字段来进行搜索。
<copyField source="ProductName" dest="text"/> <copyField source="ProductCode" dest="text"/>
4.dynamicField节点
dynamicField表示动态字段,可以动态定义一个字段,只要符合规则的字段都可以。
*_i只要以_i结尾的字段都满足这个定义
<dynamicField name="*_i" stored="true" indexed="true" type="int"/>
5.其他节点
uniquekey节点是文档的唯一标识,相当于主键,每次更新删除的时候都根据这个字段来进行操作。必须填写
<uniqueKey>ProductCode</uniqueKey>
defaultSearchField指定搜索的时候默认搜索字段的值,
<defaultSearchField > text </ defaultSearchField >
solrQueryParser指定搜索时多个词之间的关系,可以是or,and两种
<solrQueryParser defaultOperator="OR" />
6.性能优化
将所有只用于搜索的,而不需要作为结果的field(特别是一些比较大的field)的stored设置为false。
将不需要被用于搜索的,而只是作为结果返回的field的indexed设置为false。
删除所有不必要的copyField声明。
为了索引字段的最小化和搜索的效率,将所有的text fields的index都设置成false,然后使用copyField将他们都复制到一个总的text field上,然后进行搜索。
相关推荐
在本篇中,我们将深入探讨Solr 7.7.3的配置细节,并了解如何将其与Spring Boot 2.x进行整合,构建一个高效、可扩展的搜索引擎应用。 **一、Solr 7.7.3核心配置** 1. **安装与启动** - 首先,你需要下载Solr 7.7.3...
- 配置 Solr 的 Data Import Handler(DIH)以连接 MySQL 数据库,这涉及到修改 Solr 的配置文件,如 managed-schema 或 schema.xml,以及在 Solr 的 DataConfig.xml 中定义数据源和查询语句。 完成以上步骤后,你...
5. **配置文件详解**:在压缩包中的 "solr-8.5.2" 文件夹下,你会找到一系列配置文件,如 `solrconfig.xml` 和 `schema.xml`。`solrconfig.xml` 定义了 Solr 的运行行为,包括数据导入、搜索处理链、请求处理器等;...
### Apache Solr 5.1 参考指南详解 #### 一、Apache Solr 概述 Apache Solr 是一个高性能、可扩展的企业级搜索平台,由 Apache Software Foundation 开发和维护。它基于 Java 实现,并且是 Apache Lucene 的一个...
#### 五、配置详解 1. **schema.xml:**这是Solr的核心配置文件之一,用于定义字段类型、字段属性等。 2. **solrconfig.xml:**配置Solr的各种行为,如索引策略、搜索逻辑等。 3. **core.properties:**定义Solr...
2. 配置Solr的schema.xml文件。在字段类型(FieldType)定义部分,创建一个使用mmseg4j分词器的新类型,例如: ```xml <fieldType name="text_mmseg" class="solr.TextField"> ...
Solr的核心配置文件`solrconfig.xml`和`schema.xml`定义了请求处理器(Request Handler)和搜索组件(Search Component),分别负责处理来自客户端的请求和执行搜索操作。你可以根据业务需求自定义这些组件。 **六...
【SolrCloud5.2.1 + Tomcat7 + ...同时,不要忘记对Solr的配置文件(如`solrconfig.xml`和`schema.xml`)进行相应的调整,以满足特定的搜索需求。最后,记得定期备份重要数据,确保系统的稳定性和数据的安全性。
自定义词库通常以文本文件形式存在,配置时需要在Solr的schema.xml文件中声明,并将其路径添加到mmseg4j的配置中。这样,mmseg4j在分词时会优先参考自定义词库,保证了特殊词汇的正确处理。 除了基本的分词功能,...
- **配置(Configuration)**: Solr 的配置文件位于 `conf` 目录下,包括 `schema.xml`(定义字段和字段类型)、`solrconfig.xml`(设置索引和查询行为)等,这些配置决定了 Solr 的行为。 **2. 安装与启动** 下载...
### Solr基础知识与单机配置详解 #### 一、Solr概述 - **定义**: Solr是Apache基金会下的一个顶级开源项目,它基于Lucene,提供了高性能的全文检索功能。Solr不仅支持复杂的查询语法,还具备高度的可配置性和扩展...
solr搜索框架的中文分词器文件及配置详解供大家下载,亲测可用.解压出来的jar包放到apache-tomcat-9.0.20\webapps\solr\WEB-INF\lib下(Tomcat项目里solr项目)其他三个文件放到apache-tomcat-9.0.20\webapps\solr\...
#### 二、Solr 6.6.0 安装步骤详解 **2.1 下载Solr 6.6.0** - 访问下载页面:[https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/6.6.0/]...
2. **配置Solr**:在Solr的`schema.xml`或`managed-schema`文件中,配置IK Analyzer作为字段类型分析器。 3. **自定义词典**:可以创建自定义词典,添加行业术语、品牌名称等,提高分词准确度。 4. **启动Solr**:...
Solr,作为一款开源的全文搜索引擎,其核心配置文件包括`schema.xml`和`solrconfig.xml`,它们是Solr工作方式的基础。在深入理解这两个文件之前,我们需要先了解Solr的基本架构。 **1. Solr架构简介** Solr采用...
5. **配置核心**: 核心的配置文件位于`server/solr/configsets/_default/conf`目录下,主要包括`schema.xml`(定义字段和类型)、`solrconfig.xml`(配置索引和查询行为)等。根据需求,你可以复制一个默认的核心并...
《mmseg4j-solr全版本与配置详解》 在大数据时代,搜索引擎技术成为信息检索的关键工具。其中,Solr作为一款强大的开源全文搜索引擎,广泛应用于各类信息系统的搜索功能。而mmseg4j则是Solr中常用的中文分词组件,...