programing

Elasticsearch에 데이터를 삽입하는 방법

nasanasas 2020. 12. 25. 10:06
반응형

Elasticsearch에 데이터를 삽입하는 방법


저는 Elasticearch를 처음 사용하며 Elasticearch에 일부 데이터를 삽입하기 위해 2 일 동안 노력해 왔습니다. 색인을 만드는 데 도움이되는 페이지가 많이 있다는 것을 Google에서 발견했습니다 ( "색인"에 대해 명확하지 않습니다. 다른 용어로 "삽입"을 의미합니까?). 그런 다음 많은 곳에서 curl 명령을 제공하지만 실제로는 그렇지 않습니다. 데이터를 삽입하기 위해 이러한 코드 라인을 실행할 위치를 알고 있어야합니다. 예:

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

Window 7을 사용하고 있으며 Java를 설치하고 elasticsearch를 성공적으로 실행했습니다. 누구든지 Elasticearch에 데이터를 삽입하는 방법에 대한 자세한 내용을 보여줄 수 있습니까?

많은 감사


curl먼저 PC에 바이너리 를 설치해야합니다 . 여기에서 다운로드 할 수 있습니다 .

그 후 폴더에 압축을 풉니 다. 말할 수 C:\curl있습니다. 해당 폴더 curl.exe에서 여러 .dll파일 이있는 파일을 찾을 있습니다.

이제 cmd에서 입력하여 명령 프롬프트를 엽니 다 start menu. cd c:\curl거기에 입력 하면 curl 폴더로 이동합니다. 이제 curl가지고 있는 명령을 실행하십시오 .

한 가지, 창은 필드 주위에 작은 따옴표를 지원하지 않습니다. 따라서 큰 따옴표를 사용해야합니다. 예를 들어 curl 명령을 적절한 명령으로 변환했습니다.

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

명확하게 설명하겠습니다 .. 만약 rdbms에 익숙하다면 .. 인덱스는 데이터베이스입니다. 인덱스 유형은 테이블입니다. 인덱스는 인덱스 유형의 모음입니다.

NOSQL에서 .. 인덱스는 데이터베이스이고 인덱스 유형은 컬렉션입니다. 데이터베이스로 컬렉션 그룹 ..

이러한 쿼리를 실행하려면 ... U Windows 용 CURL을 설치해야합니다.

Curl은 명령 줄 휴식 도구 일뿐입니다. 그래픽 도구를 원한다면 .. 시도해보십시오.

크롬 용 감지 플러그인 ...

도움이 되길 바랍니다.


Windows에서 curl 요청을 테스트하고 시도하려면 Postman 클라이언트 Chrome 확장 프로그램을 사용할 수 있습니다. 사용하기 매우 간단하고 매우 강력합니다.

또는 제안 된대로 cURL 유틸리티를 설치할 수 있습니다.

샘플 curl 요청은 다음과 같습니다.

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를 시작하고 탐구하고 있습니다. 그러니 다른 의문이 있으면 알려주세요.

편집 : 오류를 방지하고 규칙을 따르기 위해 인덱스 이름과 유형 이름을 완전히 소문자로 업데이트했습니다.


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
}

I started off using curl, but since have migrated to use kibana. Here is some more information on the ELK stack from elastic.co (E elastic search, K kibana): https://www.elastic.co/elk-stack

With kibana your POST requests are a bit more simple:

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

To avoid using curl or Chrome plugins you can just use the the built in windows Powershell. From the Powershell command window run

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"
}'

Note the Index name MUST be in lowercase.


Simple fundamentals, Elastic community has exposed indexing, searching, deleting operation as rest web service. You can interact elastic using curl or sense(chrome plugin) or any rest client like postman.

If you are just testing few commands, I would recommend can use of sense chrome plugin which has simple UI and pretty mature plugin now.

ReferenceURL : https://stackoverflow.com/questions/22882927/how-to-insert-data-into-elasticsearch

반응형