博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
*lucene索引_创建_域选项
阅读量:6316 次
发布时间:2019-06-22

本文共 2823 字,大约阅读时间需要 9 分钟。

【索引建立步骤】

 

【创建Directory】

 

【创建writer】

 

【创建文档并添加索引】

文档和域的概念很重要

       文档相当于表中的每一条记录,域相当于表中的每一个字段。

 

【查询索引的基本信息】

使用IndexReader进行查询。

 

【实践】

附:

 

IndexUtil.java:

1 package cn.hk.index; 2  3 import java.io.File; 4 import java.io.IOException; 5  6 import org.apache.lucene.analysis.standard.StandardAnalyzer; 7 import org.apache.lucene.document.Document; 8 import org.apache.lucene.document.Field; 9 import org.apache.lucene.index.CorruptIndexException;10 import org.apache.lucene.index.IndexReader;11 import org.apache.lucene.index.IndexWriter;12 import org.apache.lucene.index.IndexWriterConfig;13 import org.apache.lucene.store.Directory;14 import org.apache.lucene.store.FSDirectory;15 import org.apache.lucene.store.LockObtainFailedException;16 import org.apache.lucene.util.Version;17 18 public class IndexUtil {19     private String[] ids = {"1","2","3","4","5","6"};20     private String[] emails = {"aa@hk.arg","bb@hk.org","cc@hk.arg",21                                "dd@hk.org","ee@hk.org","ff@hk.org"};22     private String[] content = {23             "welcome to visited the space","hello boy","my name is aa","i like football",24             "I like football and I like Basketball too","I like movie and swim"25     };26     private int[] attachs = {2,3,1,4,5,5};27     private String[] names = {"zhangsan","lisi","john","mike","jetty","jake"};28     29     private Directory directory = null;30     31     public IndexUtil(){32         try {33             directory = FSDirectory.open(new File("d://lucene/index02"));34         } catch (IOException e) {35             e.printStackTrace();36         }37     }38     39     public void query(){40         try {41             IndexReader reader = IndexReader.open(directory);42             //通过reader可以获取文档的数量43             System.out.println("numDocs:" + reader.numDocs());44             System.out.println("maxDocs" + reader.maxDoc());45         } catch (CorruptIndexException e) {46             47             e.printStackTrace();48         } catch (IOException e) {49             50             e.printStackTrace();51         }52     }53     54     55     public void index(){56         IndexWriter writer = null;57         try {58             writer = new IndexWriter(directory,new IndexWriterConfig(Version.LUCENE_35, new StandardAnalyzer(Version.LUCENE_35)));59             Document doc = null;60             for(int i=0;i

 

TestIndex.java:

1 package cn.hk.test; 2  3 import org.junit.Test; 4  5 import cn.hk.index.IndexUtil; 6  7 public class TestIndex { 8      9     @Test10     public void testIndex(){11         IndexUtil iu = new IndexUtil();12         iu.index();13     }14     15     @Test16     public void testQuery(){17         IndexUtil iu = new IndexUtil();18         iu.query();19     }20 }

 

index()运行结果:

 

query()运行结果

 

转载于:https://www.cnblogs.com/zhzcode/p/9883955.html

你可能感兴趣的文章
关于量子理论:最初无意的简化,和一些人有意的强化和放大
查看>>
CentOS 6.9通过RPM安装EPEL源(http://dl.fedoraproject.org)
查看>>
“区块链”并没有什么特别之处
查看>>
没有功能需求设计文档?对不起,拒绝开发!
查看>>
4星|《先发影响力》:影响与反影响相关的有趣的心理学研究综述
查看>>
IE8调用window.open导出EXCEL文件题目
查看>>
python之 列表常用方法
查看>>
vue-cli脚手架的搭建
查看>>
在网页中加入百度搜索框实例代码
查看>>
在Flex中动态设置icon属性
查看>>
采集音频和摄像头视频并实时H264编码及AAC编码
查看>>
3星|《三联生活周刊》2017年39期:英国皇家助产士学会于2017年5月悄悄修改了政策,不再鼓励孕妇自然分娩了...
查看>>
高级Linux工程师常用软件清单
查看>>
堆排序算法
查看>>
folders.cgi占用系统大量资源
查看>>
路由器ospf动态路由配置
查看>>
zabbix监控安装与配置
查看>>
python 异常
查看>>
last_insert_id()获取mysql最后一条记录ID
查看>>
可执行程序找不到lib库地址的处理方法
查看>>