Solr使用小结

针对项目的业务需求,主要用到了solr的下面几个功能:

facet:对查询的若干字段时间统计,使用过程中发现这个功能对于多值的域也非常有用,折腾了很长时间,才在昨天做了一下实验,搞定了这个问题。另外在这过程中也发现了Solr本身提供的DataImportHandler非常不靠谱,在导入多值的field时会存在问题。

facet在对multiValued的field做统计时,会把搜索结果中facet.field的包含的所有的值一起做统计,这个功能在某些场合非常有用。

fq:运用了大量的fq,用来对结果做进一步的查询。在使用过程中详细了看了lucene的查询语法,基本上把这个东西用熟悉了。

hl:毫无疑问,这个功能是搜索必须的。

boost:通过在查询串的q中添加_val_:可以影响结果的打分,这是影响boost score的一个很好的方式。solr 3.1之后提供的edismax也能实现这样的功能,而且更强大。在使用过程中,对于这个值的取值非常纠结,取值太大了会完全影响文本相关性。

目前对solr的使用仅仅停留在使用其提供的功能满足业务需求的阶段,对于更深层次的东西并未深究。