我必须在Lucene索引中索引几个关系数据库(用于基于值的搜索)。 有些搜索将用于来自特定数据库的值,而其他搜索将用于来自所有数据库的值。
我可以想到两种实现方法:
创建一个大索引并添加一个名为database_id的字段。在查询某个特定数据库时使用此字段。
为每个数据库创建索引。在查询一个数据库时,我会将查询指向一个索引,当查询所有数据库时,我会使用对所有索引运行查询的MultiReader。
选项2对我来说似乎更舒服,因为在查询一个数据库时更容易维护和更快的查询。另外我发现有几个帖子说低基数字段不利于lucene性能(有人可以解释这个吗?这是真的吗?)。
我想听听社区的想法,还有其他优点和缺点?