solr返回部分匹配结果

这里的“部分匹配”,是指返回的结果没有完全匹配所有搜索的关键词。

DisMaxQParserPluign里有一个参数mm(Minimum 'should' match),设置整个搜索关键词中最小需要匹配的数量。这里给出例子

  • "2" : 无论关键词一共有多少,doc最少需要匹配2个
  • "75%" : doc最少需要匹配75%的关键词,关键词个数向下取整。
  • "2<-25%" : 关键词少于3个的时候,doc需要全部匹配;大于等于3个的时候,doc最少需要匹配75%
  • "2<-1 5<80%" : 关键词少于3个的时候,需要全部匹配;3-5个的时候,只能有一个不匹配;大于5个的时候,最少需要匹配80%

默认mm为100%,也就是所有关键词都必须有匹配。即使在schema.xml里设置operator为OR,也要受到mm的限制,也就是无法全部匹配关键词的doc都不在结果集中。

参考文档:http://wiki.apache.org/solr/DisMaxQParserPlugin#mm_.28Minimum_.27Should.27_Match.29

posted on 2011-09-21 13:39  sleepingfire  阅读(582)  评论(0编辑  收藏  举报

导航