在查询时使用solr shingle过滤器

时间:2016-12-14 22:09:19

标签: solr

我正在尝试在我的Solr Schema中构建一个字段,该字段能够在查询时将单词连接在一起,然后在索引中搜索这个新的连接字。

让我说我有#34; bluetooth"在我的索引中,当我搜索"蓝牙"时,我希望这会出现在结果中。

到目前为止,我在尝试不同的shinglefilterfactory和positionfilterfactory组合以及关键字,标准和空白标记符方面都没有成功。

我希望有人能够指出我正确的方向来解决这个问题!

1 个答案:

答案 0 :(得分:0)

你的目标看起来模糊不清,有点奇怪。但是对于您的特定用例,可以使用以下过滤器:

  • "solr.PatternReplaceCharFilterFactory"
  • "pattern"="[\\W]"
  • "replacement"=""

它将使#"蓝牙"被替换为" bluetooth"。此外,您还可以仅为查询时指定字段分析。

但是让我告诉你,通常使用标记化而不是连接。我还要为您提供以下过滤器 - WordDelimiterFilter。在这种情况下,这个人可以拆分" BlueTooth"进入"蓝"和"牙齿"基于案例。

相关问题