queryparsermodificado.java

来自「Calculate TFIDF using MySQL and Lucene o」· Java 代码 · 共 38 行

JAVA
38
字号
package br.ufrj.cos.bri.model;

import java.util.StringTokenizer;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.search.Query;

public class QueryParserModificado extends QueryParser {

	public QueryParserModificado(String f, Analyzer a) {
		super(f, a);
	}
	
	public Query getPhQuery(IndexReader reader, String field, String pergunta, int phraseSlop) {
		PhraseQuery pq = this.newPhraseQuery();
		StringTokenizer tk = new StringTokenizer(pergunta, " ");
		while (tk.hasMoreElements()) {
			pq.add(new Term(field, tk.nextToken()));
		}
		pq.setSlop(phraseSlop);
		return pq;
	}
	
	public Query getFuzzy(String field, String termStr, float minSimilarity) {
		try {
			return this.getFuzzyQuery(field, termStr, minSimilarity);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return null;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?