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中DISTINCT去重的核心注意事项

《详解MySQL中DISTINCT去重的核心注意事项》为了实现查询不重复的数据,MySQL提供了DISTINCT关键字,它的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据... 目录DISTINCT 六大注意事项1. 作用范围:所有 SELECT 字段2. NULL 值的特殊处

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

Spring Boot 集成 Solr 的详细示例

《SpringBoot集成Solr的详细示例》:本文主要介绍SpringBoot集成Solr的详细示例,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录环境准备添加依赖配置 Solr 连接定义实体类编写 Repository 接口创建 Service 与 Controller示例运行

Java Jackson核心注解使用详解

《JavaJackson核心注解使用详解》:本文主要介绍JavaJackson核心注解的使用,​​Jackson核心注解​​用于控制Java对象与JSON之间的序列化、反序列化行为,简化字段映射... 目录前言一、@jsonProperty-指定JSON字段名二、@JsonIgnore-忽略字段三、@Jso

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Solr 使用Facet分组过程中与分词的矛盾解决办法

对于一般查询而言  ,  分词和存储都是必要的  .  比如  CPU  类型  ”Intel  酷睿  2  双核  P7570”,  拆分成  ”Intel”,”  酷睿  ”,”P7570”  这样一些关键字并分别索引  ,  可能提供更好的搜索体验  .  但是如果将  CPU  作为 Facet  字段  ,  最好不进行分词  .  这样就造成了矛盾  ,  解决方法