web-dev-qa-db-ja.com

データをelasticsearchに挿入する方法

私はElasticearchの初心者であり、Elasticearchにデータを挿入するために2日間努力しています。 Googleで、インデックスの作成に役立つページがたくさんあることがわかりました(「インデックス」について明確ではありません。他の用語で「挿入」を意味しますか?)データを挿入するためにこれらのコード行を実行する場所を知っています。例:

curl -XPOST "http://[localhost]:9200/indexname/typename/optionalUniqueId" -d '{ "field" : "value" }'

Window 7を使用しており、Javaをインストールし、elasticsearchを正常に実行しました。 Elasticearchにデータを挿入する方法の詳細を教えてください

どうもありがとう

52
user1162069

最初にPCにcurlバイナリをインストールする必要があります。ダウンロードできます こちらから

その後、フォルダに解凍します。 C:\curlとしましょう。そのフォルダーには、curl.exeファイルといくつかの.dllファイルがあります。

start menuからcmdと入力して、コマンドプロンプトを開きます。そこにcd c:\curlと入力すると、curlフォルダーに移動します。 curlコマンドを実行してください。

一つは、ウィンドウはフィールドの周りの単一引用符をサポートしていません。したがって、二重引用符を使用する必要があります。たとえば、私はあなたのcurlコマンドを適切なものに変換しました。

curl -H "Content-Type: application/json" -XPOST "http://localhost:9200/indexname/typename/optionalUniqueId" -d "{ \"field\" : \"value\"}"
61
Sabuj Hassan

明確に説明させてください。rdbmsに精通している場合。インデックスはデータベースです。そして、インデックスタイプはテーブルです。

nOSQLでは。インデックスはデータベースであり、インデックスタイプはコレクションです。データベースとしてのコレクションのグループ。

これらのクエリを実行するには... Windows用のCURLをインストールする必要があります。

Curlはコマンドラインのレストツールに過ぎません。グラフィカルツールが必要な場合

Chromeのセンスプラグイン...

それが役に立てば幸い..

10
BlackPOP

Windowsからのcurl要求をテストして試すには、PostmanクライアントChrome拡張機能を使用できます。使い方はとても簡単で、非常に強力です。

または、提案されているように、cURL utilをインストールできます。

カールリクエストのサンプルは次のとおりです。

curl -X POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{
"user" : "Arun Thundyill Saseendran",
"post_date" : "2009-03-23T12:30:00",
"message" : "trying out Elasticsearch"
}' "http://10.103.102.56:9200/sampleindex/sampletype/"

また、ESを広範に使い始め、調査しています。他に疑問がある場合はお知らせください。

編集:インデックス名とタイプ名を完全に小文字に更新して、エラーを回避し、規則に従うようにしました。

curlを使い始めましたが、その後kibanaを使用するように移行しました。 elastic.co(E elastic search、K kibana)のELKスタックに関する詳細情報を以下に示します。 https://www.elastic.co/elk-stack

Kibanaを使用すると、POSTリクエストはもう少し簡単になります。

POST /<INDEX_NAME>/<TYPE_NAME>
{
    "field": "value",
    "id": 1,
    "account_id": 213,
    "name": "kimchy"
}

ElasticsearchでKIBANAを使用している場合は、RESTリクエストを使用してインデックスを作成および挿入できます。

インデックスの作成:

http://localhost:9200/company
PUT company
{
  "settings": {
    "index": {
      "number_of_shards": 1,
      "number_of_replicas": 1
    },
    "analysis": {
      "analyzer": {
        "analyzer-name": {
          "type": "custom",
          "tokenizer": "keyword",
          "filter": "lowercase"
        }
      }
    }
  },
  "mappings": {
    "employee": {
      "properties": {
        "age": {
          "type": "long"
        },
        "experience": {
          "type": "long"
        },
        "name": {
          "type": "text",
          "analyzer": "analyzer-name"
        }
      }
    }
  }
}

ドキュメントの作成:

POST http://localhost:9200/company/employee/2/_create
{
"name": "Hemani",
"age" : 23,
"experienceInYears" : 2
}
0
Kailash Karki

CurlまたはChromeプラグインの使用を避けるには、組み込みのWindows Powershellを使用するだけです。 Powershellコマンドウィンドウから実行

Invoke-WebRequest -UseBasicParsing "http://127.0.0.1:9200/sampleindex/sampleType/" -
Method POST -ContentType "application/json" -Body '{
"user" : "Test",
"post_date" : "2017/11/13 11:07:00",
"message" : "trying out Elasticsearch"
}'

インデックス名は小文字でなければならないことに注意してください。

0
rob