-
<dependency>
-
<groupId>org.apache.lucene</groupId>
-
<artifactId>lucene-queryparser</artifactId>
-
<version>6.3.0</version>
-
</dependency>
-
<dependency>
-
<groupId>org.apache.lucene</groupId>
-
<artifactId>lucene-analyzers-common</artifactId>
-
<version>6.3.0</version>
-
</dependency>
-
package test;
-
-
import org.apache.lucene.analysis.standard.StandardAnalyzer;
-
import org.apache.lucene.document.Document;
-
import org.apache.lucene.document.Field.Store;
-
import org.apache.lucene.document.TextField;
-
import org.apache.lucene.index.DirectoryReader;
-
import org.apache.lucene.index.IndexWriter;
-
import org.apache.lucene.index.IndexWriterConfig;
-
import org.apache.lucene.queryparser.classic.QueryParser;
-
import org.apache.lucene.search.IndexSearcher;
-
import org.apache.lucene.search.Query;
-
import org.apache.lucene.search.ScoreDoc;
-
import org.apache.lucene.store.RAMDirectory;
-
-
public class LuceneTest {
-
-
private static RAMDirectory directory = new RAMDirectory();
-
-
public static void createIndex(String data) throws Exception {
-
System.out.println("Create Index for :" + data);
-
-
IndexWriter indexWriter = new IndexWriter(directory, new IndexWriterConfig());
-
Document document = new Document();
-
document.add(new TextField("content", data, Store.YES));
-
indexWriter.addDocument(document);
-
indexWriter.commit();
-
indexWriter.close();
-
}
-
-
public static void searchIndex(String text) throws Exception {
-
long time = System.currentTimeMillis();
-
DirectoryReader ireader = DirectoryReader.open(directory);
-
IndexSearcher isearcher = new IndexSearcher(ireader);
-
-
QueryParser parser = new QueryParser("content", new StandardAnalyzer());
-
Query query = parser.parse(text);
-
-
ScoreDoc[] hits = isearcher.search(query, 1000).scoreDocs;
-
-
for (ScoreDoc hit : hits) {
-
Document hitDoc = isearcher.doc(hit.doc);
-
System.out.println("Found: " + hitDoc.get("content"));
-
System.out.println(hit);
-
}
-
ireader.close();
-
directory.close();
-
System.out.println("Search----:" + (System.currentTimeMillis() - time) + "ms\n");
-
}
-
-
-
public static void main(String[] args) throws Exception {
-
createIndex("hello man");
-
createIndex("two man come, man, man");
-
searchIndex("man");
-
}
-
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10742815/viewspace-2130712/
,如需转载,请注明出处,否则将追究法律责任。