検索エンジンを必要とするクールなスタートアップを支援するために使用しようとしている ElasticSearch は初めてです。
私のユースケースは次のとおりです。
- Web サイトの各ユーザーには、テキスト ドキュメントを作成できる個人用スペースがあります。
- 各ユーザーは、そのコンテンツを限られた人 (友人) と共有するかどうかを指定できます
- 各ユーザーは公開コンテンツを作成できます
- ユーザーはさまざまな国から来ている可能性があります
- ユーザーは投稿以外のものを検索できます (たとえば、別のユーザーを検索するなど)。
データは CouchDB でホストされています。
1) 一意のインデックスを 1 つ作成する必要がありますか?それとも、ユーザーごとにインデックスを作成することをお勧めしますか? すべてを同じインデックスに配置して、同時に多くの異なるものを検索できるようにすることは悪い考えではないことを読みました。しかし、ES には複数のインデックスを検索する機能があることに気付きました。なぜユーザーごとにインデックスを作成しないのでしょうか? URL の最大サイズが制限されており、インデックス名が URL などによって提供されているため、問題がありますか?
2) json ドキュメントごとに 1 つのインデックスまたはタイプを作成する必要がありますか? 私は主に、投稿とユーザーの 2 種類のドキュメントをインデックスに登録しました。両方を同時に検索できるようにしたい場合は、次のようになります。
- 投稿のインデックスとユーザーのインデックスを作成し、両方を検索するには?
- 1 つのインデックスと 2 つの異なるタイプを作成し、同じインデックスの両方のタイプで検索するには? 何が違うのかよくわかりません。
3) 同じ種類の川を複数作成しなければならないのは普通ですか? たとえば、フィルターに一致するドキュメントのみを受け取る「フィルター」属性を提供する CouchDB リバーで。したがって、投稿とユーザーを 2 つの個別のインデックスまたはタイプでインデックス付けしたい場合、最初の試みは、異なるフィルターと異なるインデックスおよび/またはタイプを持つ 2 つの CouchDB リバーを作成することです。
やり方ですか?