Lucene搜索引擎入门写法
来源:互联网 发布:java就是业务逻辑吗 编辑:程序博客网 时间:2024/05/18 03:24
需要的jar包: 本文采用 lucene4.10.2 最好采用JDK1.7以上的版本进行测试。
.<dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>${lucene-version}</version> </dependency> <dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-analyzers-common</artifactId><version>${lucene-version}</version></dependency><dependency><groupId>org.apache.lucene</groupId><artifactId>lucene-queryparser</artifactId><version>${lucene-version}</version></dependency>
其中: <lucene-version>4.10.2</lucene-version>
package com.power.lencene;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;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.queryparser.classic.MultiFieldQueryParser;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.search.Sort;import org.apache.lucene.search.TopDocs;import org.apache.lucene.store.Directory;import org.apache.lucene.store.FSDirectory;import org.apache.lucene.util.Version;/* 作者Gary Huang 博客地址 :http://blog.csdn.net/hfmbook 邮箱:834865081@qq.com**/public class LenceneDemo {static String path = "d:/lencene" ; public static void main(String[] args) {try {String keyword = "文字Score" ; Analyzer analyzer = new StandardAnalyzer(); Directory directory = FSDirectory.open(new File(path)) ; IndexReader indexReader = DirectoryReader.open(directory) ;IndexSearcher indexSearcher = new IndexSearcher(indexReader);QueryParser queryParser = new MultiFieldQueryParser(new String[] { "content" },analyzer); Query query = queryParser.parse(keyword); Sort sort = new Sort() ; TopDocs topDocs = indexSearcher.search(query, 5 , sort); ScoreDoc[] scoreDoces = topDocs.scoreDocs;for(ScoreDoc scoreDoc : scoreDoces){int docID = scoreDoc.doc ;Document document = indexSearcher.doc(docID);System.out.println( document.get("id") ) ; System.out.println( document.get("content") ) ; }indexReader.close(); } catch (Exception e) {e.printStackTrace();}}public static void writeIndex(){try {Analyzer analyzer = new StandardAnalyzer(); IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LATEST, analyzer); Directory directory = FSDirectory.open(new File(path)) ; IndexWriter iwriter = new IndexWriter(directory, indexWriterConfig) ; Document doc = new Document();FieldType fieldType = new FieldType(); fieldType.setIndexed(true);fieldType.setStored(true); doc.add(new Field("id", "1", fieldType ) ) ; doc.add(new Field("content", "Lucene文字这个相关度排序是基于内部的Score和DocID,Score又基于关键词的内部评分和做索引时的boost。默认Score高的排前面,如果Score一样,.”", fieldType)); iwriter.addDocument(doc);iwriter.close() ;} catch (Exception e) {e.printStackTrace();}}}
0 0
- Lucene搜索引擎入门写法
- Lucene搜索引擎入门写法
- 搜索引擎lucene超快速入门
- 搜索引擎lucene超快速入门
- 搜索引擎lucene入门程序示例
- lucene搜索引擎
- 搜索引擎lucene
- Lucene搜索引擎
- lucene搜索引擎
- 搜索引擎lucene
- Lucene搜索引擎
- 开发自己的搜索引擎读书笔记——搜索引擎与信息检索、Lucene入门
- 1.搜索引擎的历史,搜索引擎起步,发展,繁荣,搜索引擎的原理,搜索技术用途,信息检索过程,倒排索引,什么是Lucene,Lucene快速入门
- Lucene构建搜索引擎
- ajax+Lucene构建搜索引擎
- 关于搜索引擎lucene
- lucene搜索引擎配置
- lucene搜索引擎配置续
- 第13周项目1--数组大折腾2
- Essential Linux Device Drivers》中文版第2章
- Java发送email 带附件
- 单机用户下修改root密码及grub加密
- $.ajax返回的JSON无法执行success的解决方法
- Lucene搜索引擎入门写法
- mysql语句-select...into outfile
- Unity3D高频面试问题
- erlang 聊天室
- 《Essential Linux Device Drivers》中文版第1章
- php shell方式执行
- haoservice提供天气预报接口
- CSDN first - For ZYBO
- SQL Server 的日志文件