nly*_*lyn 2 indexing elasticsearch
我想知道是否有数千个不同的索引是个坏主意?
我正在基于ElasticSearch向我的网络应用添加搜索页面.搜索页面允许用户通过过滤许多不同的索引标准(名称,位置,性别等)来搜索站点上的其他用户.这是相当直接的,只需要一个索引,其中包含该站点的每个用户的文档.
但是,我还想创建一个页面,用户可以在其中查看他们关注的所有其他用户的列表.我希望此页面具有搜索页面上可用的相同过滤选项.我想知道一个好的方法是为每个用户创建一个单独的索引,包含他们关注的每个用户的文档?
虽然你当然可以在elasticsearch中创建数千个索引,但我并不认为在你的用例中需要它.我认为你可以使用一个索引.只需为主用户记录创建一个额外的子类型 followers.每次用户A关注用户时B,都要创建一个B包含以下内容的子记录:{"followed_by" : "A"}.要获取当前用户所关注的用户列表,您只需添加Has Child Filter即可查询.
我想补充一下Igor的答案,即在一个小集群(一个或两个节点)上创建数千个索引会导致一些缺点.索引的每个分片都是一个完整的Lucene实例.也就是说,如果您有一个节点(或一个小型集群 - 在节点方面),您将拥有许多打开的文件(可能打开的文件太多).
这是我不定义太多指数的主要原因之一......
另请参阅安装指南中的文件描述符
| 归档时间: |
|
| 查看次数: |
1882 次 |
| 最近记录: |