嗯,我一直在试图让我的当前应用程序可搜索插件,但有一件事困扰我:Grails - 可搜索插件:我可以阻止它仅依赖于Lucene索引吗?
每个搜索都只依赖于Lucene索引。
而这会导致一些令人不安的问题(如:http://jan-so.blogspot.mx/2009/04/eager-fetching-and-searchable-plugin-in.html)。基本上,每个一对多关系在搜索结果中都会有一个空值。为了避免这种情况,你必须让很多域名可搜索,但是,这意味着我的数据库的一半将被映射到Lucene索引中...并且这听起来错了。
我目前处于开发环境,所以所有东西都加载到内存中,Lucene使得Java使用至少40%以上的内存(总共使用了1.2GB,并且我限制了其中包含的内容尽可能用only
和exclude
)。
那么,我可以阻止它只依赖Lucene索引吗?我希望它在索引上搜索,但不是只返回索引所具有的内容。或者,是否真的很方便将所有内容都保存在索引中(并且因此以的搜索方式执行)而不是进行手动HQL查询?
我阅读了关于组件的内容,但是如果你注意到文档说的话。 “[...]可搜索组件的数据存储在拥有对象自己的可搜索数据中”。看看Lucene索引,你可以确认这是真的,索引是用组件的数据填充的。 – GalmWing 2012-04-20 21:16:30
这意味着索引不会获得额外的类,但具有_component_的类会变得更大,因为数据会附加到它。 – GalmWing 2012-04-20 21:19:41