Xapian多语言搜索用停用词?

时间:2009-07-15 21:27:44

标签: search xapian stop-words

我有两个Xapian数据库,让我们称之为“EN”,另一个称为“DE”,让我们说前者包含一些英文文档,后者包含德文版。

如果我希望用户能够同时搜索两者,我可以轻松加载这两个数据库。但是,似乎我只能使用一个词干分析器和一组停用词?

没有办法实例化一个英语词干分析器并且只适用于那些来自“EN”数据库的结果?没有办法用英语单词创建一个Stopper,它是否只适用于那些来自“EN”数据库的结果?

这可能是对的吗?

1 个答案:

答案 0 :(得分:2)

词干只有在您知道正在编写的文本的语言时才有用。如果您使用词干创建了Xapian数据库(即,Xapian数据库存储了原始单词的词干形式),那么您将指定一种语言。

但是在搜索时,您还需要知道要正确使用的语言。如果您的用户使用英语输入查询,则必须先使用英语,然后才能将查询应用于英语数据库。这同样适用于德国人。如果要搜索每个数据库,可能应该从每个用户请求创建两个单独的,特定于语言的查询。

但是请记住,最初用德语输入的查询,但后来用英语词干提取,可能会产生一些奇怪的结果 - 如果你有任何方法可以找出你的用户在查询时使用的语言,那么这可能是用来应用正确的词干分析器。

HTH - 顺便说一句,Xapian讨论的邮件列表(见www.xapian.org)是提出这类问题的好地方。

查理