`
sharp-fcc
  • 浏览: 105975 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

solr Document,Fields,Schema设计概况

阅读更多

翻译自 Apache Solr Reference Guide 

 

solr一个最基本的设计原则是简洁, 你告诉他很多信息,然后问他一些问题,他会给你回答的一段信息,你喂给他的这部分叫做 indexing, 你问他的问题叫做 query。

一个理解solr的方法是举个例子,我们用一个美食的活页本,每一次你加一个活页到这本书中,你更新在最后面的索引,你列举菜的每个成分和页码在最后,设想一下你加了一百个美食,你能很快找到含有豆腐这个食材的美食,用索引能非常快的找到你想要的东西相比直接一页一页的翻着查找。

schema就是你告诉solr 在输入的文档中打算用什么做索引的。

 

solr眼中的世界是什么样子的。

document是solr中最基本的单元,一个美食的document可能包含这些美食的材料,需要做哪些准备,需要哪些工具,烹饪的时间等等,一个人的document可能包含这个人的名字,年龄,毕业院校等等。

在solr中,document由field组成,field可能描述信息的一些片段,鞋号可能是一个field,姓名也可能是一个field。

fields可能包含不同种类的数据。一个name field ,一般会被定义成text的,一个年龄,可能是float的,如果很好的定义这些类型,solr能够正确的探测到他们,你的用户会得到更好的query。

 

Field analysis

field analysis 告诉solr应该怎么用过来的数据建索引,一个更加精确的过程可以试processing,或者digestion. 举个例子,一个个人传记中的内容应该都被索引,这样你能快速找到一个对机器学习特别有研究的人,然而有些词是你需要了解的或者说对于你根本没有意义,比如说 你,的,好,而有的词是比较重要的比如机器学习,这种比较有代表性的词,solr解决这类问题的方法是你告诉solr如果这个field做切分,比如去停用词,比如把所有的字母小写。

 

Field Type定义和属性

一个field的type包含以下4类信息:

1. type名字

2. 继承类的名字

3. 如果type是TextField,定义如何分析它

4. field属性

 

 schema api

使用rest接口可以获取现在collection的fields的一些定义,包括dynamicfields,name ,version,uniquekey等等。

 

 DocValue

这个概念是新加进去的,方便用在sort,facet这些功能中,这样不需要便利这个索引,就能完成一些操作,类似于正排的一些信息。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics