首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

solr小结 第四部分:solr配置文件详解

2012-11-15 
solr总结 第四部分:solr配置文件详解??关于solr配置文件小编理解的,大部分都是可以在网上查到的。所以小编

solr总结 第四部分:solr配置文件详解

?

?

关于solr配置文件小编理解的,大部分都是可以在网上查到的。所以小编主要列举下一些网上大家谈的很少的知识。

1.solrconfig.xml

配置文件(略)这个文件,我没做很深入的研究。只有一点说明,solr1.3和solr1.4是有区别的solr1.3里面,需要指定solr index date的位置
?

2.db-data-config.xml

配置文件(人所在的公司为例)?
?delta-import:通过deltaQuery,查到数据库中未被索引记录的ids(id1,id2...),然后执行deltaImportQuery,如果没用deltaImportQuery,就通过Query去组装deltaImportQuery。对于上面的配置文件,就应该组装成这样的query:select? distinct * from member where memid = id1,把这条记录导入索引库里面,然后再导id2。小编曾以为solr应该组装select .. from .. where .. and memid in (id1, id2)这样的query,可好像它并没这样做。只有deltaQuery里面select的field和PK一样时(都为memid),才会组装成select? distinct * from member where memid = id1。否则组装成select? distinct * from member and memid = id1,增量导入时会报错。突然明白了alphaOnlySort:对于org_name这样的field,一般我们会将其定义为text类型,如果同时我们需要按org_name排序,那怎么办?显然,text是不能用了。刚好,alphaOnlySort,可以为我们解决这个问题,你应该可以理解上面那段配置。特别要说明的是<filter replacement="" replace="all"
??????? />,排除了所有非字母的文本。举个例子,按上面的配置,你查找“123”这样的公司名,它会匹配到任何公司名为数字的公司。所以我把这段给注释掉了。如果选择了alphaOnlySort,输入ibm,将无法匹配到ibm.com,因为alphaOnlySort类型的ibm.com并不会被分割(<filter class="solr.WordDelimiterFilterFactory...")。

4.stopwords.txt

配置文件(略)stopwords,只针对定义了texttype的field。里面定义的一些停用词我们需要注意了,比喻“OR”,你能把它停掉吗。不一定,美国就有Oregon洲缩写为OR,如果你把org_state_code的fieldtype设置为text的话,你搜索OR,传到solr server的url:http://localhost:8888/solr/../select?q=*:*?&fq=org_state_code:OR就会变成http://localhost:8888/solr/../select?q=*:*?&fq=org_state_code:,报错!所以,要么你将org_state_code定义为其他fieldtype,要么你在stopwords里面除掉这些特殊的words。

?

文章写的比较肤浅,见笑了。如有不妥之处,欢迎大家纠正。

?

?

?

?

?

?

热点排行