当前位置: 首页 > 知识库问答 >
问题:

Lucene索引更新

公羊喜
2023-03-14

假设我有两组对象“Questions”和“Users”,它们共享一个关系。

什么是最好的方法索引我的对象,以允许最新的变化反映在lucene IDEX?

  1. 是否应该为用户和问题提供单独的文档,并让lucene根据需要获取所需的问题/用户详细信息?
  2. 还是,走数据传输对象的方式?当发生更改时,只需删除这些文档并重新索引

共有1个答案

包兴思
2023-03-14

我将删除两个索引--一个用于按问题的用户,一个用于按用户的问题。根据需要进行的搜索,这两种方法都可以派上用场。

重读你的问题,当用户更新他们的名字时,你需要做的是执行lucene查询来获取用户拥有的文档并更新它们。根据索引的方式,这种变化可能会很快反映出来。

 类似资料:
  • bugu-mongo 2.x版本集成了Lucene的功能。当往MongoDB中新增一个Document时,能自动为该Document建立Lucene索引。相应的,当MongoDB中的Document被修改、删除时,对应的Lucene索引也会修改、删除。 另外,bugu-mongo还提供了对Lucene搜索的支持。根据Lucene索引进行搜索的时候,搜索结果能自动转换成对应的Entity对象。 在L

  • 问题内容: 在不使索引离线的情况下备份Lucene索引的最佳实践是什么(热备份)? 问题答案: 您不必停止IndexWriter即可备份索引。 只需使用SnapshotDeletionPolicy,它就可以“保护”给定的提交点(及其包含的所有文件),以免被删除。然后,将该提交点中的文件复制到您的备份中,最后释放该提交。 如果备份需要一段时间才能运行,这很好- 只要您不使用SnapshotDelet

  • null 我发现在lucene Wiki中:lucene中没有直接更新程序...我还发现在lucene 4.1.0中,文档可以用UpdateDocument更新... 我已经尝试过IndexWriter.UpdateDocument(Term,Document),但在使用filter执行搜索时,我从我的一个方法中得到了NPE,正如1-4中所述,当我更新索引时不会发生什么。有人有过类似的问题吗?如何

  • 在测试此文本时,我在要在文本中搜索的列上创建了lucene(3.0.1)索引: 如果我按关键字搜索,它会给出结果,但按 我正在使用standardAnalyzer: 因为已设置,它应创建令牌,并且应存在$GLD。Analyzer将从文本中删除停止字,因为word也将在该过程中删除。

  • 当我在索引器()上显式调用,那么索引中的所有内容都与预期的一样。它包含字段、、和。 但是,当我现在通过调用Spring Data类的类进行更新时,索引只在更改的直接字段(例如名称或描述)时更改。将某些内容更改为实例不会更新索引。你知道为什么会这样吗? 请注意,我已经尝试向父级添加反向引用。对于: 对于: 但这于事无补。 我使用的是Spring Boot1.0.1,其中包括Hibernate4.3.