2

Luceneを使用して、サイトのコンテンツにインデックスを付け、検索機能を提供しています。また、LuceneのMoreLikeThisを使用して、サイトの「関連ページ」機能を生成します。私のサイトは多言語であるため、MoreLikeThisを一度に特定の言語に制限する必要があります。

誰かがこれを行う方法についてのアイデアを持っていますか?

4

2 に答える 2

0

MoreLikeThisはQueryオブジェクトを返します。
MoreLikeThis mlt = new MoreLikeThis(ir);
Reader target = ... // orig source of doc you want to find similarities to
Query query = mlt.like( target);

言語をチェックする2番目のクエリを作成できます。次に、次を使用して両方のクエリをラップします。次のようにBooleanQueryを作成できます。 パフォーマンス効率はあまり高くありませんが、コーパスが小さい場合は作業が完了します。
BooleanQuery booleanQuery = new BooleanQuery();
booleanQuery.add(MoreLikeThisQuery, BooleanClause.Occur.MUST);
booleanQuery.add(languageQuery, BooleanClause.Occur.MUST);

于 2012-11-25T22:23:54.343 に答える
0

結局、複数のインデックスに分割してから、MLTクエリを実行することになりました。それ以外の場合は、リクエストが重すぎます。Lucene開発者がovすることを願っています

于 2012-12-12T15:52:57.163 に答える