solr核心组成

2024-05-25 19:32
文章标签 核心 组成 solr

本文主要是介绍solr核心组成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

solr核心组成

  1. solr的实例类似于关系数据库找那个的表结构,核心配置文件为 managed-schema

  2. managed-schema 文件主要包含三部分:字段(Field),字段类型(FieldType) ,唯一键(uniqueKey)

  3. solr采用的是一种反向索引,就是重关键字到文档的映射过程,保存这种映射这种信息的所以称为反向索引

  4. 使用分词组件将文档分成一个个单独的单词,去除标点符号,去除停词

  5. 使用语言处理组件 变为小写,将单词缩减为词根的形式,如cars到car等,将单词转变为慈耿形式如drove到drive等,语言处理组件处理得到的结果成为词
  6. 索引组件,利用得到的词创建一个字典,对词进行排序,合并相同的词和词出现的文档

solr 运行环境

需要运行在一个web容器中,4.x 需要jdk1.7 6.x jdk1.8

solr schema.xml

schema.xml 主要配置字段名及字段的类型等信息

  1. field 字段

    字段定义方式
    name 字段名称
    Type 字段类型
    indexed 是否索引
    stored 是否存储
    require 是否必须
    multivalued 是否多值

  2. dynamicField 动态字段

    字段定义
    name 字段名称 通过通配符来表示
    type 字段类型,使用时候必须使用保存类型一致

    例如:
    {“id”:”change”,”year_is”:30} year_is 字段并没有在schema.xml 中配置,通过*_is 动态字段来配置,字段类型为int类型

  3. uniqueKey 唯一主键

    指定一个主键的字段,每个实例中必须有且只有一个唯一的主键

  4. copyField 复制字段

    source 来源字段

    dest 目标字段

    将源字段的内容复制到目标字段中,例如:如果要实时对标题和正文同时进行查询,需要定义一个新字段,将标题和正文复制到这个新字段,索引的时候,直接从这个新字段查询

  5. FieldType 字段类型

    name 名字

    class 类名 也是solr中真正的类型的类名

    如果fieldType 是solr.TextFiled类,可以配置分词器,

    type:index (索引分词器),query(搜索分词器)

    tokenizer:分词器

    Filter:过滤器

    例如:

    <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
    配置分词
    <analyzer type="index"><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /><filter class="solr.LowerCaseFilterFactory"/></analyzer>
    查询分词
    <analyzer type="query"><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /><filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/><filter class="solr.LowerCaseFilterFactory"/></analyzer>
    

这篇关于solr核心组成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1002422

相关文章

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

Spring Boot 集成 mybatis核心机制

《SpringBoot集成mybatis核心机制》这篇文章给大家介绍SpringBoot集成mybatis核心机制,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值... 目录Spring Boot浅析1.依赖管理(Starter POMs)2.自动配置(AutoConfigu

Spring IOC核心原理详解与运用实战教程

《SpringIOC核心原理详解与运用实战教程》本文详细解析了SpringIOC容器的核心原理,包括BeanFactory体系、依赖注入机制、循环依赖解决和三级缓存机制,同时,介绍了SpringBo... 目录1. Spring IOC核心原理深度解析1.1 BeanFactory体系与内部结构1.1.1

Spring Boot/Spring MVC核心注解的作用详解

《SpringBoot/SpringMVC核心注解的作用详解》本文详细介绍了SpringBoot和SpringMVC中最常用的15个核心注解,涵盖了请求路由映射、参数绑定、RESTfulAPI、... 目录一、Spring/Spring MVC注解的核心作用二、请求映射与RESTful API注解系列2.1

Python异常处理之避免try-except滥用的3个核心原则

《Python异常处理之避免try-except滥用的3个核心原则》在Python开发中,异常处理是保证程序健壮性的关键机制,本文结合真实案例与Python核心机制,提炼出避免异常滥用的三大原则,有需... 目录一、精准打击:只捕获可预见的异常类型1.1 通用异常捕获的陷阱1.2 精准捕获的实践方案1.3

深入浅出Java中的Happens-Before核心规则

《深入浅出Java中的Happens-Before核心规则》本文解析Java内存模型中的Happens-Before原则,解释其定义、核心规则及实际应用,帮助理解多线程可见性与有序性问题,掌握并发编程... 目录前言一、Happens-Before是什么?为什么需要它?1.1 从一个问题说起1.2 Haht

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1