Lucene4.0入门实例
来源:互联网 发布:怎么在淘宝开网店 编辑:程序博客网 时间:2024/05/19 17:04
<span style="font-size:18px;">//创建索引</span>
<span style="font-size:18px;">package com.search.lucene;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.document.Field.Store;import org.apache.lucene.document.StringField;import org.apache.lucene.document.TextField;import org.apache.lucene.index.IndexWriter;import org.apache.lucene.index.IndexWriterConfig;import org.apache.lucene.store.Directory;import org.apache.lucene.store.FSDirectory;import org.apache.lucene.util.Version;import org.junit.Before;import org.junit.Test;public class IndexFile { protected String[] ids={"1", "2"}; protected String[] content={"Amsterdam has lost of add cancals", "i love add this girl"}; protected String[] city={"Amsterdam", "Venice"}; private Directory dir; /** * 初始添加文档 * @throws Exception */ @Test public void init() throws Exception { String pathFile="D://lucene/index"; dir=FSDirectory.open(new File(pathFile)); IndexWriter writer=getWriter(); for(int i=0; i < ids.length; i++) { Document doc=new Document(); doc.add(new StringField("id", ids[i], Store.YES)); doc.add(new TextField("content", content[i], Store.YES)); doc.add(new StringField("city", city[i], Store.YES)); writer.addDocument(doc); } System.out.println("init ok?"); writer.close(); } /** * 获得IndexWriter对象 * @return * @throws Exception */ public IndexWriter getWriter() throws Exception { Analyzer analyzer=new StandardAnalyzer(Version.LUCENE_40); IndexWriterConfig iwc=new IndexWriterConfig(Version.LUCENE_40, analyzer); return new IndexWriter(dir, iwc); }}</span>
对索引进行搜索
<span style="font-size:18px;">package com.search.lucene;import java.io.File;import org.apache.lucene.document.Document;import org.apache.lucene.index.DirectoryReader;import org.apache.lucene.index.IndexReader;import org.apache.lucene.index.Term;import org.apache.lucene.search.IndexSearcher;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.FSDirectory;import org.junit.Test;public class IndexSearch { /** * 查询 * @throws Exception */ @Test public void search() throws Exception { String filePath="D://lucene/index"; Directory dir=FSDirectory.open(new File(filePath)); IndexReader reader=DirectoryReader.open(dir); IndexSearcher searcher=new IndexSearcher(reader); Term term=new Term("content", "add"); TermQuery query=new TermQuery(term); TopDocs topdocs=searcher.search(query, 5); ScoreDoc[] scoreDocs=topdocs.scoreDocs; System.out.println("查询结果总数---" + topdocs.totalHits+"最大的评分--"+topdocs.getMaxScore()); for(int i=0; i < scoreDocs.length; i++) { int doc = scoreDocs[i].doc; Document document = searcher.doc(doc); System.out.println("content===="+document.get("content")); System.out.println("id--" + scoreDocs[i].doc + "---scors--" + scoreDocs[i].score+"---index--"+scoreDocs[i].shardIndex); } reader.close(); }}</span>
0 0
- lucene4.0入门实例
- lucene4.0入门实例
- Lucene4.0入门实例
- lucene4.0入门实例
- lucene4.0实例
- Lucene4入门
- IKAnalyzer2012FF_u1.jar-lucene4.0简单实例
- Lucene4.3.1实例
- lucene4.6查询实例
- lucene4.7实例详解
- lucene4.5简单实例
- Lucene4.3入门
- lucene4.2.1 入门
- Lucene4.3入门
- lucene4.4入门实践
- lucene4.10.2入门
- lucene4.10.3入门
- Lucene4.3入门
- Maven 安装本地jar
- CocurrentHashMap和Hashtable的区别
- Linux用户空间与内核空间 (转)
- 题目1001:A+B for Matrices
- The New text file option missing in the new context menu
- Lucene4.0入门实例
- Lake Counting-DFS
- C++编程思想学习笔记---第五章 隐藏实现
- github初级使用
- 互联网技术架构的启示
- [面试经]字节对齐
- 虚函数和虚基类混合的情况
- NGUI笔记
- 如何在tomcat中配置其他的虚拟主机?