키워드가 포함된 데이터를 조회하고 싶을 때
### 인덱스 생성 및 매핑 정의하기
PUT /boards
{
"mappings": {
"properties": {
"title": {
"type": "text"
}
}
}
}
### 데이터 삽입하기
POST /boards/_doc
{
"title": "편의점 과자 내돈내산 후기"
}
### 도큐먼트 검색해보기
GET /boards/_search
{
"query": {
"match": {
"title": "편의점 후기"
}
}
}
JSON
복사
특정 값과 정확하게 일치하는 데이터를 조회하고 싶을 때
•
term 쿼리는 특정 값과 정확히 일치하는 모든 도큐먼트를 조회한다.
•
term 쿼리는 text를 제외한 모든 타입에서 사용한다.
### 인덱스 생성 및 정의
PUT /boards
{
"mappings": {
"properties": {
"board_id": {
"type": "long"
},
"category": {
"type": "keyword"
}
}
}
}
### 데이터 삽입
POST /boards/_doc
{
"board_id": 1,
"category": "자유 게시판"
}
POST /boards/_doc
{
"board_id": 2,
"category": "익명 게시판"
}
POST /boards/_doc
{
"board_id": 3,
"category": "광고 게시판"
}
### 도큐먼트 검색
GET /boards/_search
{
"query": {
"term": {
"category": "자유"
}
}
}
GET /boards/_search
{
"query": {
"term": {
"category": "자유게시판"
}
}
}
GET /boards/_search
{
"query": {
"term": {
"board_id": 13
}
}
}
GET /boards/_search
{
"query": {
"term": {
"category": "자유 게시판"
}
}
}
GET /boards/_search
{
"query": {
"term": {
"board_id": 1
}
}
}
## SQL문으로
### SELECT * FROM boards WHERE category = "자유 게시판"
### SELECT * FROM boards WHERE board_id = 152
JSON
복사
여러 개의 값 중 하나라도 일치하는 도큐먼트 조회
SELECT * FROM boards WHERE category IN ("자유 게시판", "익명 게시판")처럼 category가 자유 게시판 또는 익명 게시판인 모든 데이터를 조회하고 싶다고 가정하자.
GET /boards/_search
{
"query": {
"terms": {
"category": ["자유 게시판", "익명 게시판"]
}
}
}
JSON
복사


