📄 andquery.java
字号:
package queries;
import invertedList.FileRecord;
import invertedList.IQueryResult;
import java.util.HashSet;
import java.util.Set;
import stemmer.IStemmer;
/**
* @author Administrator
* to handle the And query
*/
public final class AndQuery extends CompositeQuery {
/**
* left query
*/
private Query left;
/**
* right query
*/
private Query right;
public AndQuery(Query left,Query right){
this.left = left;
this.right = right;
}
/* (non-Javadoc)
* @see queries.Query#doQuery()
*/
@Override
public Set<FileRecord> doQuery(IQueryResult queryProcessor) {
Set<FileRecord> leftResult = left.doQuery(queryProcessor);
Set<FileRecord> rightResult = right.doQuery(queryProcessor);
Set<FileRecord> result = new HashSet<FileRecord>(leftResult);
result.retainAll(rightResult);
//retain the items that contains in rightResult
return result;
}
/*
public void setMode(int mode) {
left.setMode(mode);
right.setMode(mode);
}
*/
/* (non-Javadoc)
* @see queries.Query#stem(stemmer.IStemmer)
*/
@Override
public void setStemmer(IStemmer stemmer) {
left.setStemmer(stemmer);
right.setStemmer(stemmer);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -