gpt4 book ai didi

hibernate - NHibernate Search 会意识到底层数据的变化吗?

转载 作者:行者123 更新时间:2023-12-01 09:24:40 24 4
gpt4 key购买 nike

我在网上看到了几条关于NHibernate(或Hibernate)搜索“负责数据库/索引同步”的声明。

当我阅读这些陈述时,我不禁想知道是否隐含“……只要您使用 [N]Hibernate 进行任何和所有数据访问”。

我使用 NHibernate 作为只读数据访问层,针对完全由不同应用程序拥有的数据库 - 所以我的应用程序永远不会直接知道外部写入。

Hibernate/NHibernate Search 是否真的做任何事情来监控原始数据的变化,例如设置查询通知和/或对全部或部分索引使用生存时间或“到期”?

或者随着越来越多的行被外部应用程序更改,Lucene 索引是否会随着时间的推移而变得越来越陈旧?

如果这个工具没有进行那种同步,那么除了手动重新索引(这将很难正确计时)之外,我还能做些什么来保持 Lucene 索引与数据库同步,还是我更好只使用 SQL Server 中的全文功能,就像我到目前为止一直在做的那样?

最佳答案

我想我已经能够从 Hibernate Search Documentation 中推断出答案了。 :

Hibernate Search will transparently index every entity persisted, updated or removed through Hibernate Core. However, you have to create an initial Lucene index for the data already present in your database.



如果您必须创建一个初始索引,那么如果在应用程序之外进行任何更改,您也必须更新该索引。

显然,HS/NHS 不像 SQL Server FTS、Oracle Text 等那样是一劳永逸的解决方案,除非几乎所有数据写入都是通过 session 完成的。

关于hibernate - NHibernate Search 会意识到底层数据的变化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8981599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com