1.4.1.Documents,Fields和Schema概述
Documents,Fields和Schema概述
solr的基本前提是非常简单,你可以给它很多信息,然后可以向它提出问题,获取你想要的问题的信息.所有信息输入的地方就叫做索引或者更新.当你提出问题时,叫做查询.
一种理解solr工作原理的方式就是考虑一本食谱的活页本.每次添加一个新的食谱,就会在书的最后更新索引.需要列出食谱的每一项原料和当前添加的页码.假设你添加了100个食谱,使用索引你将很快找到你想要的食谱详细信息.
solr允许使用多个不同的字段和类型建立索引,上面的例子中使用了一个字段-ingredients(原料).你也可以添加其他字段,如食谱制作风格-
Asian,Cajun,vegan.也可以添加一个字段-准备时间(preparation).
solr眼中的世界
solr的基本单元信息是document,document是一组描述事物的数据.食谱的document可以包含ingredients(原料),instructions(说明),preparation time(准备时间),cook time(烹饪时间),toos(需要工具)等等.一个人的document可以包含字段-名称(name),喜爱颜色,鞋子大小等.
在solr的世界中,documents是由字段组成的.字段可以更多的指定模块信息.字段可以包含不同种类的数据,一个name字段可以是text(字符数据).鞋子的大小可能是一个浮点数,如6或者9.5,所以这个字段的定义比较灵活(你可以定义鞋子大小的字段为一个text字段而不是一个浮点数).但是如果恰当的定义字段,会提高查询效率.
可以通过指定solr的字段类型来告诉字段数据的类型.这个字段类型告诉solr如何解释这个字段,并且如何去查询.
当添加一个document时,solr会从document的字段中拿到数据信息并添加到索引中去.当执行查询时,solr会快速查询索引,返回匹配的文档(document)结果集.
字段分析(Field Analysis)
字段分析告诉solr在建立索引时怎么处理传入的数据.对这个处理过程一个比较精确的描述就是"处理"(加工)或者是"消化".不过官方的名字是analysis.(分析).
注意事项,例如,一个person的文档中个人简介(biography)字段,简介的每一个词语都会被索引,所以你可以快速找到你想要查找相关简介的人物.
然而,简介中可能包含很多的我们不需要关心的词并且不想添加到索引中去给索引教程负担--就像"the","a","to"等等.更深一步,假设简介这个字段包含"Ketchup"这样的词,如果用户查询ketchup,你需要让solr检索到这个"Ketchup",即使它是大写.
这种解决方法就是对字段做字段分析,对于每一个简介字段,你需要告诉solr如何把分离的简介分解成词语,也应该告诉solr将所有的词语都小写化,还要告诉solr删除重音符号.
1.4.1.Documents,Fields和Schema概述的更多相关文章
- 1.4 Documents,Fields和Schema设计--目录
1.4.1.Documents,Fields和Schema概述 1.4.2 solr字段类型 1.4.2 solr字段类型--(1.4.2.1)字段类型定义和字段类型属性 1.4.2 solr字段类型 ...
- Solr官方文档翻译-About & Getting Started
关于(About) 官方文档介绍了所有的Apache Solr实现的重要特性和功能.它是免费的,可以到http://lucene.apache.org/solr/下载. 为了更加的深入和广泛,设计成一 ...
- salesforce 零基础开发入门学习(十一)sObject及Schema深入
sObject在salesforce中占有举足轻重的位置,除了在数据库中数据以外,我们还应该关心一下他的元信息.元信息封装在Schema命名空间内. 作为面向对象语言,我们可以畅想一下如果我们是设计人 ...
- ElasticSearch 概述
简介 Elasticsearch是一个基于Lucene的开源搜索引擎.Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RES ...
- 关于XML的Schema文件讲解
1 Schema概述 1.1 什么是Schema l Schema是新的XML文档约束:DTD出现的比较早. l Schema要比DTD强大很多: l Schema本身也是XML文档,但Sche ...
- JavaScripts学习日记——XML DTD Schema
今日关键词: XML DTD Schema 1.XML 1 XML的概述 1.1 什么是XML XML全称为Extensible Markup Language,意思是可扩展的标记语言.XML语法上和 ...
- Day06 DOM4J&schema介绍&xPath
day06总结 今日内容 XML解析之JAXP( SAX ) DOM4J Schema 三.XML解析器介绍 操作XML文档概述 1 如何操作XML文档 XML文档也是数据的一种,对数据的 ...
- 轻量级OLAP(二):Hive + Elasticsearch
1. 引言 在做OLAP数据分析时,常常会遇到过滤分析需求,比如:除去只有性别.常驻地标签的用户,计算广告媒体上的覆盖UV.OLAP解决方案Kylin不支持复杂数据类型(array.struct.ma ...
- ElasticSearch的基本用法与集群搭建
一.简介 ElasticSearch和Solr都是基于Lucene的搜索引擎,不过ElasticSearch天生支持分布式,而Solr是4.0版本后的SolrCloud才是分布式版本,Solr的分布式 ...
随机推荐
- 如何判断Android设备是手机还是平板?
转自:http://blog.csdn.net/zuolongsnail/article/details/8682950 Android开发需要适配手机和平板,有些需求在实现中就要判断设备是手机还是平 ...
- Java沙箱技术
自从Java技术出现以来,有关Java平台的安全性及由Java技术发展所引发的新的安全性问题,引起了越来越多的关注.目前,Java已经大量应用在各个领域,研究Java的安全 性对于更好地使用Java具 ...
- LC并联谐振回路
- 观察者模式:关于通知的使用(NSNotificationCenter)
一.通知的使用方法 1.发出通知 例如:[[NSNotificationCenter defaultCenter]postNotificationName:@"backToFirstPage ...
- hdoj 5301 Buildings
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5301 #include <iostream> #include <stdio.h&g ...
- Spring中使用Hibernate
在context中定义DataSource,创建SessionFactoy,设置参数: DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行 ...
- 转载:页面加载swf插件:swfobject
转自:http://www.cnblogs.com/analyzer/articles/1299592.html 我一直都在用SWFObject 插入flash,好处多多,代码简洁,不会出现微软的“单 ...
- ActionBarCompat
布局文件中添加menu menu_main.xml <?xml version="1.0" encoding="utf-8"?> <menu ...
- Myeclipse如何改变编码方式
Windows---->Preferences---->myeclipse Enterprise Workbench---->File and Editors----->JSP ...
- MVC网站发布常见问题
直接发布的时候生成的bin会漏掉一些文件,从而导致网站无法访问: 解决方法:发布之后,再在本地运行一下网站,然后将运行后生成的bin文件夹下的文件拷贝到发布的文件夹目录下进行覆盖,就可以了