Elastichsearch api

4e5ung·2021년 5월 26일
0

Elastichsearch api

인덱스 설정

필터는 상황에 따라 사용

PUT 인덱스(test)
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "filter": [
            "my_filter"
          ],
          "type": "custom",
          "tokenizer": "my_tokenizer"
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "question": {
        "type": "text",
        "analyzer": "my_analyzer"
      }
    }
  }
}

인덱스 데이터 삽입(bulk)

데이터 한번에 밀어넣기

PUT 인덱스(test)/_bulk

{"index": {"_id": "1"}}
{"question": "12월 31일의 날씨는 맑습니다."}
{"index": {"_id": "2"}}
{"question": "1월 10일의 날씨는 비가옵니다."}

2가지를 넣는 경우

{"index": {"_id": "1"}}
{"question": "12월 31일의 날씨는 맑습니다.", "date":"12-31"}

인덱스 삭제

DELETE 인덱스(test)

형태소 분석

필터는 상황에 따라 사용

GET _analyze
{
  "tokenizer": "my_tokenizer",
  "text": "12월 31일의 날씨는?",
  "filter": [
    "my_filter"
  ],
  "explain": true
}

검색

검색은 인덱스 설정에 따라 형태소 분석 및 필터 영향

GET  인덱스(test)/_search
{
  "query": {
    "match": {
      "question":"12월 31일의 날씨는?"
    }
  },
  "from": 0 (색인 시작지점 지정(기본값0)),
  "size": 11 (색인 시작지점으로 부터 결과 개수 반환(기본값10),
  "sort": { "created_at": { "order": "desc" } } (정렬)
}

0개의 댓글