Lucene - 很少或很多索引

时间:2011-12-22 20:37:59

标签: solr lucene elasticsearch

使用

更好吗?
  • 许多索引(例如,对于每个用户,因为您的应用程序允许) 在Lucene
  • 或只是一个,将每个文档都放在int

......如果你想的话:

  • 性能
  • 磁盘空间
  • 健康

我正在使用弹性搜索,因此我使用的是Lucene。

1 个答案:

答案 0 :(得分:5)

在弹性搜索中,我认为根据您的信息,我会使用1个索引。我的理解是用户只搜索自己的文档,文档似乎相对类似。

效果 - 搜索时,您可以使用Filtered Query过滤仅与用户匹配的文档。用户ID过滤器可以缓存,而且速度很快。

可扩展 - 在Elasticsearch中,您可以在索引级别控制分片和复制。 Elasticsearch可以处理大量索引,我只是认为配置适当的分片和复制对整个索引都很有价值。

在单个索引中,您仍然可以轻松地删除数据(请参阅delete by query),除非您查询错误,否则应该很少关注其他数据。使用该过滤器的过滤查询只会导致与用户ID相关联的查询非常简单。类似于每个用户搜索不同索引的复杂性。

您的确切需求可能更适合不同的方法。根据我到目前为止,我会选择一个索引。