回答:
おそらく、ElasticSearchクラスターを探索する最も簡単な方法はelasticsearch -headを使用することです。
次のようにしてインストールできます。
cd elasticsearch/
./bin/plugin -install mobz/elasticsearch-head
次に(ElasticSearchがローカルマシンで既に実行されていると仮定して)、ブラウザーウィンドウを開いて次の操作を行います。
http://localhost:9200/_plugin/head/
または、curl
コマンドラインから使用することもできます。例:
インデックスのマッピングを確認します。
curl -XGET 'http://127.0.0.1:9200/my_index/_mapping?pretty=1'
サンプルドキュメントを取得:
curl -XGET 'http://127.0.0.1:9200/my_index/_search?pretty=1'
特定のフィールドに保存されている実際の用語を表示します(つまり、そのフィールドの分析方法)。
curl -XGET 'http://127.0.0.1:9200/my_index/_search?pretty=1' -d '
{
"facets" : {
"my_terms" : {
"terms" : {
"size" : 50,
"field" : "foo"
}
}
}
}
詳細はこちら:http : //www.elasticsearch.org/guide
curl
Elasticsearchのスタイルスタイルのコマンドを書く最も簡単な方法は、MarvelのSenseプラグインです。
ソースの強調表示、かなりインデント、オートコンプリートが付属しています。
インデックス付きデータを確認する最も簡単な方法は、ブラウザで表示することです。ダウンロードやインストールは必要ありません。
elasticsearchホストはであると想定しますhttp://127.0.0.1:9200
。
ステップ1
に移動しhttp://127.0.0.1:9200/_cat/indices?v
て、インデックスを一覧表示します。次のようなものが表示されます。
ステップ2
目的のインデックスにアクセスしてみてください。
http://127.0.0.1:9200/products_development_20160517164519304
出力は次のようになります。
に注目してくださいaliases
。つまり、次の場所でインデックスにアクセスできます。
http://127.0.0.1:9200/products_development
ステップ3
に移動http://127.0.0.1:9200/products_development/_search?pretty
してデータを確認します。
http://127.0.0.1:9200/products_development/_search?pretty=1
ます。サンプルデータしか表示されませんか?すべてのデータが表示されていないようです
データをグループ化して問題を解決する-DrTechの回答では、これを管理するためにファセットを使用していましたが、Elasticsearch 1.0リファレンスに従って非推奨になる予定です。
Warning
Facets are deprecated and will be removed in a future release. You are encouraged to
migrate to aggregations instead.
ファセットは、Elasticsearch Guideでアクセシブルな方法で導入された集約によって置き換えられます。。
溶液を必要とする集計を除いて同一であるaggs
代わりfacets
とで最大の整数に制限を設定0のカウント - コード例は、マーベルプラグインが必要
# Basic aggregation
GET /houses/occupier/_search?search_type=count
{
"aggs" : {
"indexed_occupier_names" : { <= Whatever you want this to be
"terms" : {
"field" : "first_name", <= Name of the field you want to aggregate
"size" : 0
}
}
}
}
これをテストするSenseコードは次のとおりです-占有タイプのHousesインデックスとフィールドfirst_nameの例:
DELETE /houses
# Index example docs
POST /houses/occupier/_bulk
{ "index": {}}
{ "first_name": "john" }
{ "index": {}}
{ "first_name": "john" }
{ "index": {}}
{ "first_name": "mark" }
# Basic aggregation
GET /houses/occupier/_search?search_type=count
{
"aggs" : {
"indexed_occupier_names" : {
"terms" : {
"field" : "first_name",
"size" : 0
}
}
}
}
関連する集約コードを示す応答。インデックスに2つのキー、ジョンとマークがあります。
....
"aggregations": {
"indexed_occupier_names": {
"buckets": [
{
"key": "john",
"doc_count": 2 <= 2 documents matching
},
{
"key": "mark",
"doc_count": 1 <= 1 document matching
}
]
}
}
....
Google Chromeを使用している場合、Senseという名前のこの拡張機能を使用できます。これは、Marvelを使用する場合のツールでもあります。
https://chrome.google.com/webstore/detail/sense-beta/lhjgkmllcaadmopgmanpapmpjgmfcfig
@JanKlimoの例に従って、ターミナルで行う必要があるのは次のとおりです。
すべてのインデックスを表示するには:
$ curl -XGET 'http://127.0.0.1:9200/_cat/indices?v'
インデックスの内容を確認するにはproducts_development_20160517164519304
:
$ curl -XGET 'http://127.0.0.1:9200/products_development_20160517164519304/_search?pretty=1'
Kibanaも良い解決策です。これはElasticのデータ視覚化プラットフォームです。インストールされている場合、デフォルトでポート5601で実行されます。
それが提供する多くのもののうち。デバッグができる「Dev Tools」があります。
たとえば、次のコマンドを使用して、利用可能なインデックスを確認できます
GET /_cat/indices
curl localhost:9200/my_index/_search?q=*&pretty
-インデックス内のドキュメントのセットが限られていると仮定します。