有一个张表, (id, title, content...)
现在想用Lucene对这张表建索引,
一种设计是,建索引时,把TITLE等需要的信息保存在索引中,
在搜索时,全部读出.不需要再查一次数据库.第二种设计是, 建索引时,只保存ID,
搜索时,读出ID,再到数据库,读出内容.搜索时,分页读出20条信息, 记录数量100w.两种设计,哪一个才是高效的设计?或者还有其它的方法.谢谢
现在想用Lucene对这张表建索引,
一种设计是,建索引时,把TITLE等需要的信息保存在索引中,
在搜索时,全部读出.不需要再查一次数据库.第二种设计是, 建索引时,只保存ID,
搜索时,读出ID,再到数据库,读出内容.搜索时,分页读出20条信息, 记录数量100w.两种设计,哪一个才是高效的设计?或者还有其它的方法.谢谢
第二种设计检索时访问磁盘一次,读数据库时又访问磁盘一次。
不考虑缓存情况下,一般第一种较快,缺点是要把数据库中的title数据在索引中又存一份,有一定的空间开销,并且索引中title的更新需要在重建索引时才能更新,不好做到实时更新。