原文:http://www.solrtutorial.com/basic-solr-concepts.html
Indexing(索引)
solr有快速显示搜索结果的能力。因为solr不是直接去搜索文本,而是搜索索引。
这个原理就类似想通过某个关键字找到书的某一页都是通过书的索引来查找,而不是每页去匹配这个单词。
solr的这种索引叫倒排序(inverted index),因为他把以为page为中心模型反转了(page-->word),变成了单词为中心的模型(word-->pages)
How Solr represents data
Index由一个或则多个Documents组成,一个Documents包含一个或多个Fields
用数据库术语,一个Document对应一个表,一个Fields对应一个表字段。
Schema
当你添加Document到Solr之前需要先定义Schema,通过schema.xml表示。schema定义了:1.有多少种fields。2.那些field应该使用unique/primary key。3.那些required是必填的。4.如何索引和查询field。
Field Types
在Solr每个field都有类型。Solr扩充了lucene中的各种field type。包括:
- float
- long
- double
- date
- text
Solr也允许你自定义类型,通过组合filters和tokenizers,一个例子:
<fieldtype name="phonetic" stored="false" indexed="true" class="solr.TextField" > <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/> </analyzer> </fieldtype>
定义字段Defining a field
<field name="id" type="text" indexed="true" stored="true" multiValued="true"/>
Analysis
当数据被添加到Solr,都会经过各种转换,这个过程叫Analysis阶段。一些常见的转换,比如:转换为小写字母,去掉stop word等等,analysis的结果是一组tokens,然后再被添加为索引。Tokens已经不是原始的文档,是在你执行搜索查询时被搜索的。
如果一个filed没有设置indexed,那么他将不能被搜索,那有何用处?
Term Storage
当我们把搜索结果显示给用户时候,用户期望看到的是原始的文档,而不是经过analysis后的token。所以这就是Storage的目录,告诉solr把原始数据也保存下来。
有时候有些filed不需要被查询,但是需要在结果中显示,可以通过在shcema中设置filed的属性stored=true and indexed=false.
好的,那我们把所有filed都保存下来不是更好?
但是保存这些会增大solr索引文件的大小,索引越大,查询越慢( the larger the index, the slower the search)
相关推荐
1. **Solr基本概念**: - **全文检索**:Solr的核心功能之一,它能够对文本进行索引,实现模糊查询和关键词高亮。 - **文档模型**:Solr以文档为基本单位进行处理,每个文档包含多个字段,字段可以设置不同的分析...
### Solr概念与关键技术知识点详解 #### 一、Solr简介 - **Solr** 是一个高度可伸缩的企业级搜索引擎平台,支持多种语言,并且提供了丰富的API接口,包括REST风格的HTTP/XML和JSON API。它能够高效地处理大规模数据...
首先,让我们了解Solr的基本概念。Solr的核心功能是提供高效的全文检索、命中高亮、拼写检查、分类、 faceting(分面导航)和更多其他高级功能。它基于Lucene库,提供了更易用的API和配置方式,使得开发者可以快速...
Solr集群安装与配置(一)第11讲 Solr集群安装与配置(二)第12讲 SolrCloud基本概念第13讲 Solrj操作SolrCloud第14讲 solr索引主从同步第15讲 solr之Facet第16讲 solr之FacetPivot第17讲 solr之Group第18讲 solr之...
Solr项目源码及solr资源包是一个针对搜索...通过深入研究和实践这个“Solr项目源码及solr资源包”,开发者不仅可以掌握Solr的基本用法,还能了解Spring Data Solr的高级特性,从而提升在实际项目中的搜索引擎开发能力。
Collection是Solr集群中数据管理和查询的基本单位。 4. **Schema**:Schema定义了Solr如何解析和存储数据。它包括字段定义(如字段类型、是否可搜索、是否存储等)和动态字段规则。合理的Schema设计是确保Solr性能...
通过上述内容,我们不仅了解了 Solr 的基本概念、Solr 与 Lucene 的区别,还学习了如何安装和配置 Solr,以及如何使用 Solr 进行索引的创建和搜索。Solr 作为一款企业级的搜索引擎,凭借其强大的功能和灵活性,在...
在本文中,我们将深入探讨Solr的核心概念、关键特性以及如何使用Solr进行搜索。 一、Solr核心概念 1. 索引:Solr中的索引类似于数据库的索引,用于快速查找文档。它通过分词和建立倒排索引来实现高效的文本搜索。 2...
这可能是一个包含Solr基础教程的文档,涵盖了Solr的基本概念,如索引、查询、优化和集群配置。Solr的索引是其高效搜索的关键,它允许快速查找大量数据。索引构建过程中,Solr会将文本数据转换为倒排索引,便于快速...
在理解这个知识点之前,我们需要先了解Solr的基本概念以及数据导入处理(DataImportHandler,DIH)。 Apache Solr是一个开源的全文搜索引擎,它提供了高效、可扩展的搜索和分析功能。Solr能够对大量数据进行快速的...
1. **Solr核心概念**:如集合(Collections)、索引、查询、请求处理器、过滤器等,这些都是构建搜索应用的基础。 2. **配置文件**:如`solrconfig.xml`和`schema.xml`,前者定义了Solr的行为,后者定义了字段类型...
1. **Solr的基本概念**: - **Solr核心(Core)**:是Solr处理数据的基本单元,每个核心包含自己的配置、索引和日志文件。 - **索引(Index)**:Solr通过构建索引来提高搜索效率,索引存储了文档的关键信息,便于...
3. `example`:包含了一个示例配置,展示了如何设置和运行Solr的基本步骤。 4. `dist`:包含Solr的jar文件和其他依赖库。 5. `contrib`:包含了一些额外的功能模块,比如数据分析器、图表和地图等。 在部署Solr时,...
在深入探讨这个版本之前,让我们先理解一下Solr的基本架构和工作原理。 1. **SolrCloud**:从4.0版本开始,Solr引入了分布式搜索和处理能力,称为SolrCloud。它允许Solr实例在Hadoop的Zookeeper协调下形成集群,...
### Solr教材知识点详解 ...以上是关于《solr教材-PDF版》的详细知识点介绍,涵盖了从Solr的基本概念到具体应用场景,再到性能调优等多个方面,旨在帮助读者全面了解和掌握Solr的核心技术和最佳实践。
首先,我们来了解一下Solr的核心概念和主要特点: 1. **核心概念**: - **索引**:Solr通过建立倒排索引来加速查询,其中包含了文档ID和关键词之间的映射关系。 - **文档**:在Solr中,文档是信息的基本单元,...
Solr是Apache Lucene项目下的一个企业级搜索服务器,它提供...总的来说,这个压缩包是一个全面的学习Solr的资源库,不仅涵盖了Solr的基本概念和使用,还提供了实战项目,有助于用户从理论到实践,全面掌握Solr的使用。
- **Core**: Core是Solr的基本工作单元,每个Core可以独立地处理请求,拥有自己的配置和数据。 - **Schema**: Schema定义了Solr字段的类型和特性,如字段是否可搜索、是否存储原始值等,它是索引规范的重要部分。 ...
**SOLR应用教程** **一、概述** ...这个SOLR应用教程涵盖了从基础概念到实际应用,包括安装配置、索引和搜索操作、SolrJ的使用以及性能优化等多个方面,为读者提供了一个全面了解和掌握Solr的路径。