http://akululu.iteye.com/blog/314130
多索引目录就是要在多个索引目录的中进行比较搜索,类似概念在SQL中就是select * from TableA union select * from TableB。
IndexSearcher[] searchers = new IndexSearcher[2];
searchers[0] = new IndexSearcher(IndexPath0);
searchers[1] = new IndexSearcher(IndexPath1);
方法a
MultiSearcher multisearcher = new MultiSearcher(searchers);
TopDocs multitopdocs = multisearcher.Search(query, null, 1000);
这个搜索的结果可能有相同的信息,比如你有一条相同的信息在多个目录中索引,搜索的结果就会出现多次相同的信息。
方法b
还有一种搜索方式是用到ParallelMultiSearcher这个对象,它是从MulitSearcher继承而来。
ParallelMultiSearcher parallelmultisearcher = new ParallelMultiSearcher(searchers);
TopDocs paralleltopdocs = parallelmultisearcher.Search(query, null, 1000);
这个搜索是对搜索后的结果进行合并,剔除重复的信息。
方法c
初始化多个IndexRader,一个目录就是一个IndexReader,最后整合成一个IndexReader数组,实例化IndexSearcher时传入他
List<IndexReader> allIndexReaderList = new ArrayList<IndexReader>();
for (String filePath : indexFilePathList) {
     File indexDirFile = new File(filePath);
     if (indexDirFile.exists()) {
          Directory indexDir = FSDirectory.open(indexDirFile);
          IndexReader indexReader = IndexReader.open(indexDir, true);
          allIndexReaderList.add(indexReader);
     }
}

IndexReader[] fileIndexReaderArr = allIndexReaderList.toArray(new IndexReader[0]);

MultiReader multiReader = new MultiReader(fileIndexReaderArr, true);

IndexSearcher indexSearcher = new IndexSearcher(multiReader);

转载于:https://www.cnblogs.com/svennee/p/4080619.html

lucene 多索引目录搜索实现方法相关推荐

  1. Lucene整理--索引的搜索

    看lucene主页(http://lucene.apache.org/)上目前lucene已经到4.9.0版本了, 参考学习的书是按照2.1版本讲解的,写的代码例子是用的3.0.2版本的,版本 的不同 ...

  2. Lucene.net多字段(Fields)、多索引目录(IndexSearcher)搜索

    Lucene.net是目前在.net环境中被普遍使用的全文索引的开源项目,这次在项目的开发中也使用它进行全文索引. 在开发过程中碰到一些小问题就是对多字段和多索引目录进行搜索. 1.多字段搜索就是同时 ...

  3. lucene的建立索引,搜索,中文分词

    Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包. 现在最新的lucene已经更新到6.0版本了.但是这个最新版,需要适配jdk1.80以 ...

  4. 理解Lucene索引与搜索过程中的核心类

    理解索引过程中的核心类 执行简单索引的时候需要用的类有: IndexWriter.Directory.Analyzer.Document.Field 1.IndexWriter IndexWriter ...

  5. lucene索引搜索_Lucene –快速添加索引和搜索功能

    lucene索引搜索 什么是Lucene? Apache LuceneTM是完全用Java编写的高性能,功能齐全的文本搜索引擎库. 它是一项适用于几乎所有需要全文本搜索的应用程序的技术,尤其是跨平台. ...

  6. Lucene –快速添加索引和搜索功能

    什么是Lucene? Apache LuceneTM是完全用Java编写的高性能,功能齐全的文本搜索引擎库. 它是一项适用于几乎所有需要全文搜索的应用程序的技术,尤其是跨平台的应用程序. Lucene ...

  7. java搜索引擎创建索引_搜索引擎系列 ---lucene简介 创建索引和搜索初步

    一.什么是Lucene? Lucene最初是由Doug Cutting开发的,2000年3月,发布第一个版本,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎 :Lucene得名于Doug妻子 ...

  8. 使用Lucene开发简单的站内新闻搜索引擎(索引的搜索)

    上一篇以及创建好索引,搜索引擎当然少不了搜索.这里为了方便,所以就不把数据保存到数据库,使用Lucene的搜索方法.开始贴代码. 简单的搜索代码 public List<Article> ...

  9. LIRE(Lucene Image Retrieval)相似图像索引和搜索机制

    众说周知,lucene是一个开源的强大的索引工具,但是它仅限于文本索引.基于内容的图像检索(CBIR)要求我们利用图像的一些基本特征(如颜色纹理形状以及sift,surf等等)搜索相似的图片,LIRE ...

最新文章

  1. 知识图谱(四)——实体识别和扩展
  2. MS BizSpark计划-免费提供软件和服务
  3. php session缓存,扫盲:php session缓存至memcached中的方法
  4. PAT1008数组元素循环右移问题(2,3测试点不过的解决办法)
  5. 英国航空系统周末故障,可能会损失掉全年将近 3% 的利润
  6. Kafka面试题总结
  7. 计算机网络——大数据、物联网
  8. ✿2020医疗行业CTF✿多余的音符
  9. linux c语言round函数,c语言round函数使用问题
  10. 华为服务器插网线后没有响应,用con口连接华为交换机没有反应,重启之后出现以下信息后...
  11. Ubuntu 12.04更新源
  12. 【转】Mac QQ截图保存在哪里?
  13. 人工智能AI的春天来临,国内惊现100多元钱的机器视觉组件,即全局曝光的高速工业相机,最高可达210帧每秒。可应用于人脸识别、机器视觉、高速运动目标的图像获取。
  14. 国外云盘(如Rapidgator)免费下载姿势详解
  15. 网站分析11——成本控制类指标
  16. 假设一个类,继承了父类并且实现了一个接口,然后父类和接口有一个同名的方法,那么此时会发生什么情况,编译会提示出错吗?如果不出错,那么这到底算是重写还是实现接口方法?
  17. linux如何查看dwbs进程,分享Linux命令快捷方式大全
  18. 1-7 德州扑克(c++)
  19. GNSS/INS松组合算法原理简介
  20. Echarts饼状图数据动态获取

热门文章

  1. Qt + Python + OpenCV图标替换工具 之 Python调用dll(三)
  2. C++工作笔记-仿大佬“容器”风格
  3. 贪心算法 0-1背包c语言,贪心算法0-1背包问题(算法实验代码).pdf
  4. 小说网jsp源码_基于jsp+mysql的JSP小说网
  5. 自学python需要什么_自学Python编程有什么要求
  6. python 相关性检验怎么计算p值_不会Python进行时间序列预测?不要紧,大神来教你...
  7. LoadRunner性能测试-Std. Deviation标准差
  8. (王道408考研操作系统)第二章进程管理-第四节1:死锁相关概念
  9. Linux系统编程22:基础IO之掌握重定向的本质和使用dup2完成重定向
  10. 1-3:学习shell之Linux系统