Solr基本概念杂谈

来源:互联网 发布:北京网站快速优化排名 编辑:程序博客网 时间:2024/06/08 00:55

摘要: 在使用Solr之前,有必要对solr的基本概念有所认识,本文基于官方文档整理了solr有关文档(Documents)、字段(Fields)、模式(Schema)。

首先,你提供很多的信息,然后你想从这些信息中找到你想要的某个信息点。Solr做的事很简单,帮你找想要的信息。提供信息的过程称之为indexing(索引),找信息的过程称之为query(检索)。

一个场景

要理解Solr的工作,想想一下,你有一本菜谱,每次你学会一道菜的时候,将详细步骤记录在菜谱中,并记录一个页码和一些关键信息。经过努力,已经学会了很多菜肴,某一天,你要做一道菜,但是记不清步骤了,需要翻菜谱,通过关键信息和页码,你快速找到了烹饪方法,比起一页页去翻菜谱,你快了很多倍。

Solr允许你建立各种各样的索引,上面这个例子中,你索引了菜肴的关键信息,有时候,还可以索引一些其他信息,比如制作菜肴的难度,需要花费的时间等。

你可以通过schema来控制solr要索引哪些信息。

Solr的世界观

Solr对信息处理的基本单位是document,菜谱这个document包含了佐料、步骤、时间、难度等。对于人这个document来说,可以包含姓名、年龄、爱好等。Solr把这些组成要素看做是fields,姓名可以看做是一个filed,姓和名又可以看做是fields
Fileds可以包含不同类型的数据,对于书籍的名字可以认为是一个text(文本/字符串),书籍的售价可以是一个number(数值/浮点型)。一旦你指定了filed的数据类型,Solr就可以以你想要的那种形式使用。

分析Field

Field analysis告诉Solr该如何索引需要插入的文档,对于这个过程,可能使用processing会更准确些,但是官方给的名字是analysis
对于一个的详细信息你都存贮下了,为了方便查询这些信息,你需要把它们都建立索引。但是对于一些信息,比如 的、了、喜欢 等,你并不关心,是不是该去掉呢?有个人不喜欢 蜘蛛侠 ,你要问Solr谁不喜欢”蜘蛛”,跟这个人没有什么关系。有个人喜欢吃“西红柿炒蛋”,那么你要问Solr谁爱吃”番茄炒蛋”,Solr该不该找到这个人的信息?
上面的这些问题都需要analysis来解决,对于Field分析的准确度,将决定Solr对于回答的准确性。

0 0
原创粉丝点击