使用solr对部分查询进行短语匹配

时间:2014-02-17 19:52:09

标签: solr

我有以下情况:

对于查询“A B”,我们有完全匹配,并且结果得分正确。但是当查询看起来像“A B C”时,结果是错误的,因为Solr看不到“A B”的完全匹配。请帮我配置Solr以正确的方式让他在“A B”上找到“短语”匹配。

P.S。以下查询按预期工作:

A B field:C
"A B" C

1 个答案:

答案 0 :(得分:0)

不确定我是否理解你,但听起来你需要生成shinglesNGrams。简而言之,通过对句子中的单词进行分组来创建带状疱疹,并通过从单词的开头或结尾处取字符来生成单词来生成边缘NGrams。

  

来自Solr Wiki:

     
      
  • Ngrams :Nigerian => “ni”,“nig”,“nige”,“niger”,“nigeri”,“nigeria”,“nigeria”,“nigerian”
  •   
  • 带状疱疹:例如,句子“请将这句话分成带状疱疹”可能被标记为带状疱疹“请分开”,
      “将此分开”,“这句话”,“句子分成”和“进入”   带状疱疹”。
  •   

由于您希望对部分查询进行匹配,因此需要将相关过滤器包含在查询分析器中。