原文: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)
相关推荐
该文档讲解solr基本概念,solr搭建和调试,solr功能应用
不仅讲解了基本概念和使用方法,而且还分析了各组件的内部工作机制。 下卷(第11~16章) 细致、深入地讲解了Solr的高级知识和拓展知识。 高级知识部分包括:Solr的高级查询及其各种查询技巧,如函数查询、地理空间...
不仅讲解了基本概念和使用方法,而且还分析了各组件的内部工作机制。 下卷(第11~16章) 细致、深入地讲解了Solr的高级知识和拓展知识。 高级知识部分包括:Solr的高级查询及其各种查询技巧,如函数查询、地理空间...
Solarium是一个PHP Solr客户端库,可以准确地建模Solr概念。 在许多其他Solr库仅处理与Solr的通信的地方,Solarium也使您可以使用有据可查的API来处理所有复杂的Solr查询参数。 请参阅以获取更详细的描述。要求...
4、ElasticSearch架构图以及基本概念(术语) 1、es概述 2、ES架构模块 3、Elasticsearch核心概念 五、ES的集群部署 六、node01服务器安装elasticsearch-head插件 1 、node01机器安装nodejs 2 、node01机器安装 ...
Hapood三大核心组件 1.HDFS:存储、分布式文件系统 ...2.当作服务软件,C/S架构,例如MySQL(使用JDBC调用),缓存服务redis,索引服务solr。可以存储、分析数据。 Hadoop的历史: 1.google三篇论文:GFS/MAPRE
Java微服务架构l零从基础到精通高清视频教程全套 第1章 微服务简介 001构建单体应用 002微服务解决复杂问题 003微服务的优点 004微服务的缺点 第2章 Linux使用 ...161 基本概念 162 操作流程 163 GitLab CI
全套微服务架构,视频学习java微服务架构,包括如下 第1章 微服务简介 001构建单体应用 002微服务解决复杂问题 003微服务的优点 004微服务的缺点 ...161 基本概念 162 操作流程 163 GitLab CI
, 《ElasticSearch:可扩展的开源弹性搜索解决方案》内容丰富、全面,基本概念的讲解细致、深入浅出。各种功能和命令的介绍,都配以实践操作和详细的代码。《ElasticSearch:可扩展的开源弹性搜索解决方案》是初学者...
1.1 分类的基本概念…...... .…………….. 6 1.2 分类任务的处理流程 ……·· ……·7 1.3 算法:朴素贝叶斯和 K最近邻……·8 1.3.1 朴素贝叶斯….......……… …….. 8 1.3.2 K 最近邻……………………... 9 ...
Zookeeper概念 ZooKeeper是一个开源的分布式协调服务。 目标 主要用来解决分布式集群中应用系统的一致性问题,例如怎样避免同时操作同一数据造成脏读的问题。 作用 ZooKeeper 本质上是一个分布式的小文件存储系统。 ...
这个例子展示了和基本使用概念 为了运行这个例子,需要一个 4+ 和 。 该应用程序旨在处理 Solr 发行版提供的示例数据。 运行 Solr :solr> cd example :example> java -jar start.jar 通过 运行项目 :rich-...