作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有几个索引,但想知道哪种使用方式是正确的。
IndexReader r1= IndexReader.open(...)
IndexReader r2= IndexReader.open(...)
MultiReader mr= new MultiReader(r1,r2)
1)
IndexSearcher s = new IndexSearcher(mr);
2)
IndexSearcher s = new IndexSearcher(mr,new IndexReader[]{r1,r2}....
哪一个是正确的?
最佳答案
您应该坚持使用 Lucene API 文档,
IndexSearcher s = new IndexSearcher(mr);
在大多数版本的 Lucene 库中,接受子阅读器(IndexSearchders 的附加数组)的 IndexSearcher 构造函数的使用都会被标记为警告,阻止其使用,
IndexSearcher s = new IndexSearcher(mr,new IndexReader[]{r1,r2}....
标有“警告:此 API 是实验性的,可能会在下一版本中以不兼容的方式进行更改。”。我猜引入这些额外的构造函数选项的原因是为了促进 Lucene 内部子类化,请参阅 LUCENE-1925 上的评论
关于java - 如何在Lucene中正确使用multireader API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8962071/
我有一个 MultiReader连接到多个索引。 在我运行查询并获得结果后,有没有办法知道结果来自哪个索引? 我知道这不是 MultiReader 的确切用途。我仍然需要这个。 最佳答案 如果您是创建
我即将编写一个具有分布式索引的近实时搜索应用程序。现在我想知道在多个索引上实现搜索的正确方法是什么: 我已经阅读了有关 MultiSearcher 的信息,所以一种方法是: IndexSearcher
我是一名优秀的程序员,十分优秀!