クエリオブジェクトを作成するには、コンポーネントを利用します。コンポーネントで、次のカテゴリを個別のフィールドに追加します。トピック(リストボックス、複数選択あり)作成者(ドロップダウン、単一選択あり...または必要に応じて)。
あなたの場合、トピックのすべてのリストボックスオプションを選択します。トピック1、トピック2、トピック3の3つのキーワードがあるとします。
そのため、キーワードは次のように形成されます。
KeywordCriteria topicCriteria1= new KeywordCriteria("Topic","Topic 1");
KeywordCriteria topicCriteria2= new KeywordCriteria("Topic","Topic 2");
KeywordCriteria topicCriteria3= new KeywordCriteria("Topic","Topic 3");
Criteria[] topicCriterias = {topicCriteria1,topicCriteria2,topicCriteria3};
Criteria OrCriteria = CriteriaFactory.Or(topicCriterias);
//Create Author Criteria
KeywordCriteria AuthorCriteria= new KeywordCriteria("Author","Author 1");
//And both results
mainCriteria =CriteriaFactory.And(AuthorCriteria, topicCriterias);
//Query
query.Criteria=mainCriteria;
トピックに関連するすべてのキーワードを選択するために、個別に書く代わりにメソッドを書くことができます。お役に立てれば。