我正在尝试在我的Solr Schema中构建一个字段,该字段能够在查询时将单词连接在一起,然后在索引中搜索这个新的连接字。
让我说我有#34; bluetooth"在我的索引中,当我搜索"蓝牙"时,我希望这会出现在结果中。
到目前为止,我在尝试不同的shinglefilterfactory和positionfilterfactory组合以及关键字,标准和空白标记符方面都没有成功。
我希望有人能够指出我正确的方向来解决这个问题!
答案 0 :(得分:0)
你的目标看起来模糊不清,有点奇怪。但是对于您的特定用例,可以使用以下过滤器:
"solr.PatternReplaceCharFilterFactory"
"pattern"="[\\W]"
"replacement"=""
它将使#"蓝牙"被替换为" bluetooth"。此外,您还可以仅为查询时指定字段分析。
但是让我告诉你,通常使用标记化而不是连接。我还要为您提供以下过滤器 - WordDelimiterFilter。在这种情况下,这个人可以拆分" BlueTooth"进入"蓝"和"牙齿"基于案例。