HebMorph与solr:如何使用停用词

时间:2018-05-21 08:41:20

标签: solr information-retrieval hebrew synonym stop-words

我正在开发一个支持索引编制的应用程序。使用" solr"搜索包括希伯来语在内的多语言文本。发动机。

经过大量搜索,我发现HebMorph是用于希伯来语的最佳插件

我的问题是HebMorph与希伯来语停用词的行为似乎与solr不同:

  • Whith solr(任何语言):当我搜索一个停用词时,返回的结果并不包括查询中存在的任何停用词。

  • 当我搜索希伯来语术语时(在this link之后在solr中插入HebMorh之后),返回的结果包括查询中所有现有的停用词。

1)这是HebMorph的正常行为吗?如果是,我该如何改变它?如果不是,我应该改变什么?

2)由于HebMorph不支持同义词,(正如我在他们的文档中读到的那样,这是未来的工作)。是否有办法使用希伯来语的同义词作为solr支持的其他语言? (即通过在solrconfig中添加适当的过滤器并指出同义词文件)?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我是HebMorph的作者。

确实支持StopWords,但是你需要在lematizer开始之前将它们过滤掉。假设最新版本的HebMorph - 你的停用词过滤器需要在令牌器之后立即进入,这意味着它还需要注意בחל “stop字母附在停止词上。

对于所有语言,现在的一般建议是不要删除停用词 - 至少不要删除索引,所以我建议不要在这里应用停用词过滤器。

关于同义词 - 根本问题在于HebMorph lemmatizer有时会将单词扩展为多个lemmas,这使得应用同义词的工作更具挑战性。使用(相对)新的基于图形的分析器,现在可以这样做,我们也可能实现这一点,并且将支持Lucene的同义词过滤器OOTB。

在商业版本中,已经有一种方法可以自定义单词列表并覆盖字典定义,这在希伯来语等模糊语言中很有用。许多人将此作为创建同义词的方式。