⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 andquery.java

📁 一个用于搜索本地文件内容的小型搜索引擎
💻 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 + -