package com.fmr.search;
import java.io.File;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
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.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;
public class LuceneSearch {
public static void main(String[] args) throws Exception {
LuceneSearch luceneSearch = new LuceneSearch();
luceneSearch.search();
}
public void search() throws Exception{
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36);
Query query = new QueryParser(Version.LUCENE_36, "person.description", analyzer).parse("person.description:(nBoston)");
// Query query = new TermQuery(new Term("person.description", "Tom"));
FSDirectory fsDir = FSDirectory.open(new File("LuceneIndex"));
IndexSearcher searcher = new IndexSearcher(IndexReader.open(fsDir));
Sort sort = Sort.RELEVANCE;
TopDocs hits = searcher.search(query, null, 50000, sort);
for(ScoreDoc scoreDoc : hits.scoreDocs) {
Document doc = searcher.doc(scoreDoc.doc);
System.out.println(doc.toString());
}
}
}
package com.fmr.search;
public class Person {
private String name;
private String id;
private String description;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
import java.io.File;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
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.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;
public class LuceneSearch {
public static void main(String[] args) throws Exception {
LuceneSearch luceneSearch = new LuceneSearch();
luceneSearch.search();
}
public void search() throws Exception{
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36);
Query query = new QueryParser(Version.LUCENE_36, "person.description", analyzer).parse("person.description:(nBoston)");
// Query query = new TermQuery(new Term("person.description", "Tom"));
FSDirectory fsDir = FSDirectory.open(new File("LuceneIndex"));
IndexSearcher searcher = new IndexSearcher(IndexReader.open(fsDir));
Sort sort = Sort.RELEVANCE;
TopDocs hits = searcher.search(query, null, 50000, sort);
for(ScoreDoc scoreDoc : hits.scoreDocs) {
Document doc = searcher.doc(scoreDoc.doc);
System.out.println(doc.toString());
}
}
}
package com.fmr.search;
public class Person {
private String name;
private String id;
private String description;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}