2009-07-15 8 views
2

私は2つのXapianデータベースを持っています。一つはENともう一つはDEと言いましょう。そして、前者には英語で書類があり、後者はドイツ語です。Xapian複数言語でストップワードを検索する?

ユーザーが両方を同時に検索できるようにするには、両方のデータベースを簡単に読み込むことができます。しかし、私は1つのステマーとストップワードのセットを使用することができるように思えますか?

英語のステマーをインスタンス化する方法はなく、「EN」データベースの結果にのみ適用できますか?英語の単語でStopperを作成する方法はなく、 "EN"データベースから得られた結果だけに適用されますか?

これが正しいのでしょうか?

答えて

2

ステミングは、ステミングしているテキストの言語を知っている場合にのみ便利です。ステミングを使用してXapianデータベースを作成した場合(つまり、Xapianデータベースに元の単語の形態が保存されている場合)、言語が指定されます。

しかし、検索時には、正しくスムーズにするための言語も知る必要があります。ユーザーが英語でクエリを入力する場合は、英語のデータベースにクエリを適用する前に英語で説明する必要があります。同じことがドイツ語にも当てはまります。おそらく各データベースを検索する場合は、各ユーザーの要求から言語固有の2つのクエリを作成する必要があります。

しかし、当初はドイツ語で入力されたクエリが英語のステマーであるため、奇妙な結果が生じる可能性があります。ユーザーがクエリ時にどの言語を使用しているかを知る方法があれば正しいステマーを適用するために使用されます。

HTH - ところで、Xapian-discussメーリングリスト(www.xapian.orgを参照)はこの種の質問をするのに適しています。

チャーリー

関連する問題