1

私はkairosdb主なデータベースとして使用しています。ここで、elasticsearch 機能を 内のデータに統合したいと考えていますkairosdb。ドキュメント内に記載されているように、elasticsearch内のプライマリ データベースのすべてのエントリを複製する必要がありますdatabase

アップデート

つまり、次のとおりです。

Elasticsearch 内で何かにインデックスを付けたい場合は、次のようにする必要があります。

json の例である kairosdb のデータを取得する{"name": "hi","value": "6","tags"}

そして中に入れますelasticsearch

 curl -XPUT 'http://localhost:9200/firstIndex/test/1' -d '{"name": "hi","value": "6","tags"}'

検索したい場合は、これを行う必要があります:

curl 'http://localhost:9200/_search?q=name:hi&pretty=true'

これを達成できる方法で、 elasticsearch 内でデータを複製しないことが可能かどうか疑問に思っています:

  • kairosDB からデータを取得する
  • データを複製せずにelasticsearchを使用してインデックスを作成します。

誰かがこれについて説明してもらえますか?

前もって感謝します。

4

1 に答える 1

1

プライマリ データストア (KairosDB) のセカンダリ (および外部) フルテキスト インデックスとして Elasticsearch を使用したいと考えているようです。

KairosDB は引き続きプライマリ データストアであるため、Elasticsearch にロードする各レコードには (少なくとも) 2 つの情報が必要です。

  1. 対応する KairosDB レコードを見つけるための主キー フィールド。マッピングでは、必ず設定してください"store": true, "index": "not_analyzed"
  2. 検索可能にしたい任意のフィールド (この例では、name検索のみが行われます) "store": false, "index": "analyzed"

インデックス サイズをさらに縮小する場合は、_source フィールドを無効にすることを検討してください。


次に、検索ワークフローは 2 段階のプロセスになります。

  • Elasticsearch にクエリname:hiを実行し、一致する各レコードの KairosDB プライマリ キー フィールドを取得します。
  • Elasticsearch から返されたキー フィールドを使用して、KairosDB 時系列データを照会/返します。

しかし、明確にするために。Elasticsearch に読み込まれた各 KairosDB レコードの正確な複製は必要ありません。検索可能なフィールドだけで、KairosDB で元のレコードを見つける手段も含まれます。

于 2015-11-05T15:45:21.200 に答える