Lucene如何将术语添加到术语[]

时间:2015-06-29 13:47:35

标签: java lucene

我有这个示例(只是构建MultiPhraseQuery的片段):

// *** MultiPhraseQuery ***
    MultiPhraseQuery mQuery = new MultiPhraseQuery();

    // *** TermL1 ***
    mQuery.add(new Term[] {
                    new Term("abstract", "quick"),
                    new Term("abstract", "fast")
                    });

    // *** TermL2 ***
    Term t1 = new Term("abstract", "fox");
    Term t2 = new Term("abstract", "rabbit");

    Term[] termL2 = new Term[] {
            t1, t2
            };
    mQuery.add(termL2);

我想用迭代方法(如循环)构建TermL2,以允许添加动态数量的项(t1,t2,t ...,tn)。它似乎不是一个很难的问题,但我现在还没有找到解决方案。

1 个答案:

答案 0 :(得分:1)

int n;
//Set this variable to the # of terms
String nextTerm;
Term[] termL2 = new Term[n];
for (int i = 0; i < n; i++) {
    nextTerm = blahblah; //here you set your next term
    termL2[i] = new Term("abstract", nextTerm);
}
mQuery.add(termL2);