`
san_yun
  • 浏览: 2594235 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

solr基本概念

    博客分类:
  • solr
阅读更多

原文: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。包括:

  1. float
  2. long
  3. double
  4. date
  5. 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搭建和调试,solr功能应用

    Solr权威指南-上卷

    不仅讲解了基本概念和使用方法,而且还分析了各组件的内部工作机制。 下卷(第11~16章) 细致、深入地讲解了Solr的高级知识和拓展知识。 高级知识部分包括:Solr的高级查询及其各种查询技巧,如函数查询、地理空间...

    Solr权威指南-下卷

    不仅讲解了基本概念和使用方法,而且还分析了各组件的内部工作机制。 下卷(第11~16章) 细致、深入地讲解了Solr的高级知识和拓展知识。 高级知识部分包括:Solr的高级查询及其各种查询技巧,如函数查询、地理空间...

    日光浴室:PHP Solr客户端库

    Solarium是一个PHP Solr客户端库,可以准确地建模Solr概念。 在许多其他Solr库仅处理与Solr的通信的地方,Solarium也使您可以使用有据可查的API来处理所有复杂的Solr查询参数。 请参阅以获取更详细的描述。要求...

    Elasticsearch入门、Kibana 索引管理(elasticserch-head 插件使用, Kibanan 安装和使用)

    4、ElasticSearch架构图以及基本概念(术语) 1、es概述 2、ES架构模块 3、Elasticsearch核心概念 五、ES的集群部署 六、node01服务器安装elasticsearch-head插件 1 、node01机器安装nodejs 2 、node01机器安装 ...

    学习笔记(01):Hadoop大数据从入门到精通-Hadoop的介绍及基本概念

    Hapood三大核心组件 1.HDFS:存储、分布式文件系统 ...2.当作服务软件,C/S架构,例如MySQL(使用JDBC调用),缓存服务redis,索引服务solr。可以存储、分析数据。 Hadoop的历史: 1.google三篇论文:GFS/MAPRE

    Java微服务架构l零从基础到精通高清视频教程全套 163课

    Java微服务架构l零从基础到精通高清视频教程全套 第1章 微服务简介 001构建单体应用 002微服务解决复杂问题 003微服务的优点 004微服务的缺点 第2章 Linux使用 ...161 基本概念 162 操作流程 163 GitLab CI

    Java微服务架构163课

    全套微服务架构,视频学习java微服务架构,包括如下 第1章 微服务简介 001构建单体应用 002微服务解决复杂问题 003微服务的优点 004微服务的缺点 ...161 基本概念 162 操作流程 163 GitLab CI

    elasticsearch

    , 《ElasticSearch:可扩展的开源弹性搜索解决方案》内容丰富、全面,基本概念的讲解细致、深入浅出。各种功能和命令的介绍,都配以实践操作和详细的代码。《ElasticSearch:可扩展的开源弹性搜索解决方案》是初学者...

    百度云盘 pdf《大数据架构和算法实现之路:电商系统的技术实战》百度云盘-带标签目录

    1.1 分类的基本概念…...... .…………….. 6 1.2 分类任务的处理流程 ……·· ……·7 1.3 算法:朴素贝叶斯和 K最近邻……·8 1.3.1 朴素贝叶斯….......……… …….. 8 1.3.2 K 最近邻……………………... 9 ...

    zookeeper-基本认知

    Zookeeper概念 ZooKeeper是一个开源的分布式协调服务。 目标 主要用来解决分布式集群中应用系统的一致性问题,例如怎样避免同时操作同一数据造成脏读的问题。 作用 ZooKeeper 本质上是一个分布式的小文件存储系统。 ...

    rich-document-catalog

    这个例子展示了和基本使用概念 为了运行这个例子,需要一个 4+ 和 。 该应用程序旨在处理 Solr 发行版提供的示例数据。 运行 Solr :solr&gt; cd example :example&gt; java -jar start.jar 通过 运行项目 :rich-...

Global site tag (gtag.js) - Google Analytics