Lucene的多学期短语

时间:2015-01-30 09:45:41

标签: java java-ee lucene information-retrieval

我正在阅读Lucene in Action书,我不理解多学期的短语部分。

以下文字已编入索引:

  快速的棕色狐狸跳过懒狗

然后您将以下字词添加到PhraseQuery 快速跳转懒惰 ,其中slop等于4.这会导致匹配,但我不知道不明白这是怎么回事。当有多个术语时,如何计算移动的数量?我不明白他们是怎么做的。

同样的条款 lazy jumped quick ,slop等于8。

1 个答案:

答案 0 :(得分:2)

slop实际上是edit distance。在它们之间插入额外的术语会增加1到距离,转置术语会增加2(第一个编辑将两个术语相互移动)。

您可以逐个进行编辑,以说明:

  • quick jumped lazy 距离:0
  • quick _ jumped lazy 距离:1
  • quick _ _ jumped lazy 距离:2
  • quick _ _ jumped _ lazy 距离:3
  • quick _ _ jumped _ _ lazy 距离:4

对于第二种情况:

  • lazy jumped quick 距离:0
  • lazy/jumped quick 距离:1
  • lazy/jumped/quick 距离:2 (所有三个词叠加,位于同一位置)
  • quick lazy/jumped 距离:3
  • quick jumped lazy 距离:4
  • quick _ jumped lazy 距离:5
  • quick _ _ jumped lazy 距离:6
  • quick _ _ jumped _ lazy 距离:7
  • quick _ _ jumped _ _ lazy 距离:8