BugPhobia沟通篇章:Solr模式配置与数据导入调研

0x01 Scrum Meeting特别说明

特别说明,考虑到编译原理课程考核的时间安排,每天开发时间急剧缩短以至于难以维系正常的Scrum Meeting,因此,将2015/12/13 0000 A.M. ~ 2015/12/14 2200 P.M.Scrum Meeting合并,因此,第二次Scrum Meeting的开发时间为两天,此次将首先发布Solr模式配置与数据导入调研方便沟通工作的进一步开展

 

0x01 :模式配置说明(Schema.xml

0x0100 types段落定义

段落定义

types段落,是一些常见的可重用定义,定义了 Solr(和 Lucene)如何处理 Field。也就是添加到索引中的xml文件属性中的类型,如inttextdate.

XML格式定义

<fieldType name="string" class="solr.StrField" sortMissingLast="true"/>

<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>

 

0x0104 fileds段落定义

段落定义

Files段落,是添加到索引文件中出现的属性名称,而声明类型就需要用到上面的types

固定字段说明

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false"/>

<field name="path" type="text_smartcn" indexed="false" stored="true" multiValued="false" termVector="true" />

<field name="content" type="text_smartcn" indexed="false" stored="true" multiValued="false" termVector="true"/>

动态字段说明

dynamicField

动态的字段设置,用于后期自定义字段,*号通配符.例如: test_i就是int类型的动态字段.

<dynamicField name="*_i" type="int" indexed="true" stored="true"/>

<dynamicField name="*_l" type="long" indexed="true" stored="true"/>

<dynamicField name="*_s" type="string" indexed="true" stored="true" />

特殊字段说明

copyField

一般用于检索时用的字段这样就只对这一个字段进行索引分词就行了copyFielddest字段如果有多个source一定要设置multiValued=true,否则会报错的

<copyField source="content" dest="pinyin"/>

<copyField source="content" dest="text"/>

<copyField source="pinyin" dest="text"/>

 

0x02 Solr的数据导入方法

方法概述

使用自带的post.jar工具,需要提前自己定义好需要上传文件的格式

特别说明:最好是以XML或者是json的格式,似乎可以是pdf,以及txt等格式,如上面所述,但是这一部分确实可以上传,但是在后续的搜索的过程中找不到相应的数据,需要进一步的研究,但是XML以及json的格式一定是没有问题了。

具体操作方法

(更多详细的使用细则可翻阅Solr教程P152

n  Automatically detect the content type based on the file extension.

java -Dauto=yes -jar post.jar a.pdf

n  Automatically detect content types in a folder, and recursively scan it for documents.

java -Dauto=yes -Drecursive=yes -jar post.jar afolder

n  Automatically detect content types in a folder, but limit it to PPT and HTML files.

java -Dauto=yes -Dfiletypes=ppt,html -jar post.jar afolder

 

方法概述

使用用户界面进行数据的导入

特别说明:Solr本身的用户界面非常友好,可以自行探索并使用

 

方法概述

我在调研的时候使用的是pysolr,是基于Python的,其实还有solrj是基于java的后者没有调研过,但是前者调研过感觉还不错,增删改查都能做,还不错。

教程网址:https://pypi.python.org/pypi/pysolr/3.2.0

 

posted @ 2015-12-14 13:04  bugphobia  阅读(208)  评论(0编辑  收藏  举报