问题标签 [indexwriter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - IndexWriter.commit() 不足以更改索引
我刚刚将我们的 Lucene 实现从 3.1 移植到 4.9,如果没有 forceMerge(1)(曾经是优化的),我似乎仍然无法更新索引中的文档。我了解,每当我更新文档时,旧文档都会被标记为已删除,而新文档会存储在新的段/文件中。升级后我继续看到的结果是文档被标记为已删除,但搜索者似乎从未看到新段。对该文档的搜索只是空的。为什么它不起作用?
我希望工作的代码:
有效的代码:
java - 调用提交后向 Lucene Index Writer 添加文档
我正在使用 Lucene 4.6。我创建了一个 Lucene IndexWriter(在 CREATE MODE 中)并添加了文档并提交了它(没有关闭它)。然后运行搜索查询并存储结果。我再次将文档添加到索引编写器并提交并关闭它。并对其进行搜索查询。它也给出了新数据和旧数据的结果。旧数据也出现在索引中。我可以知道从索引中删除所有数据的方法吗?有什么办法可以一次性删除所有文件吗?
lucene - 根据语言更改字段的 Lucene 分析器
我需要根据文档语言对文档进行索引,为此我想使用适当的分析器。是否有可能在不关闭和重新打开 IndexWriter 的情况下更改单个字段的分析器,因为这显然是一项代价高昂的任务,而且语言可能会经常更改?还是有更好的方法来处理多种语言?
谢谢
java - 如何在不删除文档的情况下保留 Lucene 索引
这是我关于 Stack Overflow 的第一个问题,祝我好运。
我正在使用 java 对 Lucene 索引进行分类过程,我需要更新一个名为 category 的文档字段。为此,我一直在使用带有索引编写器 updateDocument() 函数的 Lucene 4.2,并且它工作得很好,除了删除部分。即使我在更新后使用 forceMergeDeletes() 函数,索引也会显示一些已删除的文档。例如,如果我对包含 1000 个文档的索引运行分类,则索引中的最终文档数量保持不变并且按预期工作,但是当我将索引文档增加到 10000 时,索引会显示一些已删除的文档,但不是全部。那么,我怎样才能真正从索引中删除那些已删除的文档呢?
这是我的一些代码片段:
我花了很多时间寻找解决方案,有人说索引中删除的文档并不重要,当我们继续向索引中添加文档时,它们最终会被删除,但我需要以某种方式控制该过程我可以随时迭代索引文档,并且我检索到的文档实际上是活的。Lucene 4.0 之前的版本在 IndexReader 类中有一个名为 isDeleted(docId) 的函数,如果文档已被标记为已删除,这可能只是解决我的问题的一半,但我还没有找到解决方法Lucene 4.2 版。如果你知道如何做到这一点,我真的很感激你分享它。
solr - Lucene indexWriter 更新不影响 Solr 搜索
我实现了一个小代码,目的是从 Lucene 索引中提取一些关键字。我确实使用搜索组件实现了这一点。我的问题是当我尝试更新 Lucene IndexWriter 时,放在上面的 Solr 索引不会影响。如您所见,我做了提交部分。
请帮助我解决这个问题。
更新: 我做了一些调查,发现文件的检索部分工作正常,而 Solr 没有重新启动。但是文档的搜索部分不起作用。在我重新启动 Solr 后,似乎核心损坏并且无法启动!这是相应的日志:
我的猜测是索引关键字字段的问题以及与关闭 IndexWriter 相关的问题。
java - Lucene-Appengine 的 SegmentIndexInput readByte 方法出现 NullPointerException
我从运行 Lucene 中得到以下错误跟踪。我包括提示错误的代码段。具体的项目/连接器是Lucene for Appengine
代码
错误
这是我的appengine-web.xml
文件,我也按照建议使用修改后的文件RamUsageEstimator
java - Solr 更新 indexwriter 不会影响搜索,直到重新启动
我确实实现了一个 Solr 插件,目的是更新 Solr 事件(提交、优化等)的某些字段。我的问题是更新的文档不会影响 Solr 搜索,直到我手动尝试重新启动 Solr。请您看看我的代码并告诉我是什么部分导致了这个问题?
问候。
templates - 如何修改nutch索引编写器用于elasticsearch的索引模板?
开箱即用的弹性搜索的 nutch 索引编写器在弹性搜索中生成一个索引,其名称在属性元素中的 nutch-site.xml(或 nutch-default.xml)中提供:
对于这种自动生成的索引,elasticsearch 中的映射部分始终具有以下结构
- 这个的模板在哪里?
- 可以改变吗?
- 如果是,哪些字段是必填的,哪些是可选的?
- 我在哪里可以找到这方面的更多信息?
任何帮助表示赞赏!谢谢,沃尔夫拉姆
indexing - Lucene IndexWriter.Close() 与 indexWriter.Commit()
当我只有一个实例时IndexWriter.Close()
和之间有什么不同?IndexWriter.Commit()
indexWriter
注意:我要制作索引的数据非常大,所以我无法关闭 IndexWriter 运行时。
注意:我想在数据同时索引时搜索文档。
java - Apache Lucene 的实现
在过去的几周里,我正在阅读Apache Lucene的源代码,并试图找出主要负责在磁盘上写入帖子列表/索引的方法或类。我已经阅读了很多关于索引的内容,并试图找到在将索引写入磁盘的过程中调用某些方法但失败的点。我知道当某些内部缓冲区已满时,会定期写入索引或发布列表。如果有人已经阅读了代码或知道它在哪里完成,请告诉。谢谢