0x01 :Scrum Meeting特别说明
特别说明,考虑到编译原理课程考核的时间安排,每天开发时间急剧缩短以至于难以维系正常的Scrum Meeting,因此,将2015/12/13 00:00 A.M. ~ 2015/12/14 22:00 P.M.的Scrum Meeting合并,因此,第二次Scrum Meeting的开发时间为两天,此次将首先发布Solr模式配置与数据导入调研方便沟通工作的进一步开展
0x01 :模式配置说明(Schema.xml)
0x0100 :types段落定义
段落定义 |
types段落,是一些常见的可重用定义,定义了 Solr(和 Lucene)如何处理 Field。也就是添加到索引中的xml文件属性中的类型,如int、text、date等. |
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) |
一般用于检索时用的字段这样就只对这一个字段进行索引分词就行了copyField的dest字段如果有多个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 |