solr学习之三--------Document、FieldType

首先弄清楚几个概念:

Document:Solr的信息的基本单位的是Document,它是一组描述某些事物的数据集合。

Field:Document的主要构成单元,是更具体的信息描述。

     其实大家可以这样理解,Document 对应于我们Java代码中的一个类,而Field,则是类中的一个属性。


Field Analysis:就是solr如何对传进来的数据进行处理,如果构建索引。假设有个个人简介的Field,他里面包括了很多单词,我们需要在构建索引完之后,通过检索某个单词就能查询到这个人,那么我们就需要对每个单词都进行索引,但是,一句话有很多语气助词,如果a an  or and not ,这些词我们又不需要为他们建索引,在构建索相的时候,需要排除出去。那么那些单词我们要建索引,那些又不需要列,这个分析出过程,我们就称为:field Analysis.


Field Type:告诉solr如何去处理某个field的数据,以及这个Field在查询的时候处理。

一个Field Type包括如下四部分信息:

  • 名字,name
  • 实现类名,也就是solr中真正的类型的类名。
  • 如果FieldType 是 TextFiled类型,即还有analysis属性
  • 属性
---------------------------------------

  大致清楚以上概念以后,我们再来继续往下看。  那么这些东西在那里定义的列, 答案是在你的核心的schema.xml中。 如我们例子是在:${solr_home}/collection1/schema.xml


    我们上面所说的Field Type  则对应于schemea.xml中的<types>下面的<fieldType>,solr中的fieldType类型有很多,而常用的有如下几个:
  • IntField
  • LongField
  • StrField
  • TextField
  • DateField

接下来说说<fieldType>结点的几个常用属性:

  • indexed   是否为该 field建索引
  • stored    是否存储该field的值,存储以后,可以获取到值,否则会获取到Null
  • multiValued  是否是多值
  
关于这些属性,什么时候有什么用途,给出一个二维矩阵图:
solr学习之三--------Document、FieldType_第1张图片


你可能感兴趣的:(solr学习之三--------Document、FieldType)