lucene4.0简单API使用
来源:互联网 发布:bong2p手环软件 编辑:程序博客网 时间:2024/05/21 18:49
package test;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.Version;
public class Lucene4ApiText {
public static final FieldType TYPE_NOT_STORED = new FieldType();
public static final FieldType TYPE_STORED = new FieldType();
static {
TYPE_NOT_STORED.setIndexed(true);
TYPE_NOT_STORED.setTokenized(true);
TYPE_NOT_STORED.freeze();
TYPE_STORED.setIndexed(true);
TYPE_STORED.setTokenized(true);
TYPE_STORED.setStored(true);
TYPE_STORED.freeze();
}
public static void main(String[] args) throws IOException {
//索引
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_40);
Directory dir = new RAMDirectory();
IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_40,
analyzer);
iwc.setOpenMode(OpenMode.CREATE);
IndexWriter writer = new IndexWriter(dir, iwc);
for(int i=0;i<10;i++){
Document document = new Document();
document.add(new Field("content","索引"+i,TYPE_STORED));
writer.addDocument(document);
}
writer.close();
//搜索
IndexReader reader = DirectoryReader.open(dir);
IndexSearcher searcher = new IndexSearcher(reader);
try {
Query query = new TermQuery(new Term("content", "索"));
TopDocs topDocs = searcher.search(query, 10);
int total = topDocs.totalHits;
System.out.println("total=" + total);
for(ScoreDoc doc : topDocs.scoreDocs){
int i = doc.doc;
Document docu = searcher.doc(i);
System.out.println(docu.get("content"));
}
} finally {
System.out.println("end");
}
}
}
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.Version;
public class Lucene4ApiText {
public static final FieldType TYPE_NOT_STORED = new FieldType();
public static final FieldType TYPE_STORED = new FieldType();
static {
TYPE_NOT_STORED.setIndexed(true);
TYPE_NOT_STORED.setTokenized(true);
TYPE_NOT_STORED.freeze();
TYPE_STORED.setIndexed(true);
TYPE_STORED.setTokenized(true);
TYPE_STORED.setStored(true);
TYPE_STORED.freeze();
}
public static void main(String[] args) throws IOException {
//索引
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_40);
Directory dir = new RAMDirectory();
IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_40,
analyzer);
iwc.setOpenMode(OpenMode.CREATE);
IndexWriter writer = new IndexWriter(dir, iwc);
for(int i=0;i<10;i++){
Document document = new Document();
document.add(new Field("content","索引"+i,TYPE_STORED));
writer.addDocument(document);
}
writer.close();
//搜索
IndexReader reader = DirectoryReader.open(dir);
IndexSearcher searcher = new IndexSearcher(reader);
try {
Query query = new TermQuery(new Term("content", "索"));
TopDocs topDocs = searcher.search(query, 10);
int total = topDocs.totalHits;
System.out.println("total=" + total);
for(ScoreDoc doc : topDocs.scoreDocs){
int i = doc.doc;
Document docu = searcher.doc(i);
System.out.println(docu.get("content"));
}
} finally {
System.out.println("end");
}
}
}
- lucene4.0简单API使用
- IKAnalyzer2012FF_u1.jar-lucene4.0简单实例
- lucene4.5简单实例
- lucene4.0结合IK Analyzer分词器的简单示例
- lucene4.2 + IKanalyzer2012FF_u1简单示例
- Lucene4.7.2简单例子一
- Lucene4.7.2简单例子二
- lucene4.0各内置分析器的使用及比较
- Lucene4.0 Demo部署
- lucene4.0的配置
- lucene4.0入门实例
- lucene4.0入门实例
- Lucene4.0 LogMergePolicy
- Lucene4.0入门实例
- lucene4.0入门实例
- Lucene4.0 BufferedDeletes
- lucene4.0实例
- lucene4
- 关于 SHFILEOPSTRUCT
- 在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等
- VC中的字符 CA2T
- 找到自己喜欢什么要做什么(一)
- 在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等
- lucene4.0简单API使用
- tab_Host页面跳转,传值,刷新等问题汇总
- 找到自己喜欢什么要做什么(二)
- 七夕怀念
- 深入理解HTTP Session
- 找到自己喜欢什么要做什么(三)
- 找到自己喜欢什么要做什么(四)
- 迈出从3K到1W的重要一步——掌握设计模式
- USACO section 2.3 Longest Prefix(dp)