我如何组织我的ElasticSearch索引?

时间:2012-06-14 22:07:31

标签: java lucene indexing couchdb elasticsearch

我是ElasticSearch的新手,我试图用它来帮助一个需要搜索引擎的酷炫创业公司。

我的用例是:

  • 网站的每个用户都有自己的个人空间,可以创建文本文档
  • 每个用户都可以与有限的人(朋友)共享或不共享其内容
  • 每个用户都可以创建公共内容
  • 用户可能来自不同的国家/地区
  • 用户可以搜索除帖子之外的其他内容(例如,搜索其他用户)

我们的数据托管在CouchDB中。


1)我应该创建一个唯一索引,还是为每个用户创建索引是一个好习惯? 我已经读过将所有内容放在同一个索引上并不是一个坏主意,这样你就可以在同一时间搜索许多不同的东西。 但我注意到ES提供了搜索多个索引的能力,那么为什么不为每个用户创建一个索引呢? 这是一个问题,因为最大网址大小是有限的,索引名称是由网址或其他东西提供的吗?

2)我应该为每个json文档创建一个索引或类型吗? 我主要索引2种不同类型的文档:帖子和用户。 如果我想能够在同一时间搜索它们,我想:

  • 为帖子创建索引和为用户创建索引,并搜索它们吗?
  • 要创建一个索引和两个不同类型,并搜索同一索引的两种类型? 我真的不会有什么区别。

3)必须创建多个相同类型的河流是否正常? 例如,在CouchDB河上,它提供“过滤器”属性以仅接收与过滤器匹配的文档。 因此,如果我想在两个单独的索引或类型上索引我的帖子和我的用户,我的第一次尝试将创建2个CouchDB河流,它们将具有不同的过滤器和不同的索引和/或类型。

这是方法吗?

0 个答案:

没有答案