小编pat*_*pat的帖子

Elasticsearch 处理德语复合词

我一直在研究德语复合词的问题,想知道是否有人对这个问题有现代的方法。

问题

许多德语单词实际上是许多单词的组合,例如Baumhaus由单词BaumHaus 组成。现在,要实现良好的搜索效果,必须可以按每个单词进行搜索。

可能的解决方案

  1. 通过使用此处显示的字典方法。这种方法可能是我测试过的最精确的解决方案。然而,字典还远未完成,因此会产生很多不想要的结果。

  2. 我尝试的第二种方法以插件的形式利用预建的Compact Patricia Tries,弥补了字典的不足。然而,它当然也会导致很多不希望的结果。

我发现和测试的两种方法都有效,但远非完美。两者结合使用多路复用器令牌过滤器创建了一个不错的结果。

不是解决方案

我的第一次尝试是使用N-gram token filter。然而,这提出了一个关键问题。虽然搜索Haus应该返回Baumhaus 上的匹配,但搜索Baumhaus不应该只匹配Haus

问题

由于提到的两个解决方案都相当陈旧,组合时会影响性能,并且不再真正积极维护,我觉得必须有另一种方法来解决这个问题。

任何输入表示赞赏;)

elasticsearch

15
推荐指数
0
解决办法
650
查看次数

标签 统计

elasticsearch ×1