cloudant indexes (korean)

9
Cloudant 가 가가가가 Index 가가 1 Primary Index • 각 Document 각 각각각 각 각각 각각각 ID(RDB 각 Primary Key) 각 각각 Index 각각각각각 각각 각 Secondary Index 각 ? • ID 각각각 각각 각각각 각각 Index • RDB 각 각각 Primary Key 각 각각 각각각 각각 CREATE INDEX 각각각각 각각 • 각각각각 NoSQL DB 각각각 Primary Index 각 각각 Search Index 각 ? • Full Text 각각 Keyword 각각 ( 각 : ‘ 각각’ AND ‘ 각각각’ ) • Naver/Google 각각각 각각각각 각각 각각

Upload: -jerry-jeong

Post on 25-Jun-2015

219 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Cloudant Indexes (Korean)

Cloudant 가 제공하는 Index 방식

1

bull Primary Index

bull 각 Document 를 식별할 수 있는 고유한 ID(RDB 의 Primary Key) 에 대한 Index

bull 기본적으로 생성 됨

bull Secondary Index 란

bull ID 이외의 다른 속성에 대한 Index

bull RDB 의 경우 Primary Key 가 아닌 필드에 대해 CREATE INDEX 명령으로 생성

bull 일반적인 NoSQL DB 에서는 Primary Index 만 제공

bull Search Index 란

bull Full Text 또는 Keyword 검색 ( 예 lsquo 서울rsquo AND lsquo 미술관rsquo )

bull NaverGoogle 등에서 제공하는 검색 방식

Secondary Index

2

bull _id 를 기준으로 한 Primary Unique Index 를 보완

bull _id 이외의 다른 필드 또는 필드들의 조합을 대상으로 함bull Key 값은 중복 허용

bull 예 author subject [author subject]

bull 생성 방법bull 일반 Design Document

bull MapReduce 를 사용 (Map 의 emit 함수 )

데이터Map 함수

인덱스

조회 결과

View ndash Secondary Index 의 결과

3

bull Map 의 emit 함수 실행 결과가 실시간 처리 되어 View 형태로 저장( 원본 DB 의 별도 )

bull 원본 데이터 변경 시 전체 재 계산이 아닌 변경분만 재 계산 (Incremental MapReduce)

bull 클러스터 (Cloudant BigCouch) 에서는 여러 노드에 분산되어 처리 및 저장 됨

bull 동일 데이터 (Database) 에 대한 복수 View 생성 가능

bull Reduce 를 통해 데이터 통계 (RDB 의 sum amp group by 에 해당 ) 생성( 사용 여부는 선택적 )

MapReduce

4

bull 주로 JavaScript 로 작성 되며 다른 언어도 지원 가능

bull 일반적인 MapReduce 와 마찬가지로hellipbull Map 함수에서 key value 쌍을 생성

bull Reduce 함수에서 데이터 (key value 쌍의 배열 ) 에 대한 계산 통계 작업

bull 병렬 처리 ndash 클러스터에서는 여러 노드에서 분산 처리 및 결과 취합

MapReduce

5

bull Incremental MapReduce

bull Real time DB 의 데이터에 변경이 생기면 바로 실시간 재 계산 (View)

bull Incremental 데이터 변경 시 전체를 재 계산 하지 않고 필요한 부분만 재 계산 하는 방법

bull httpeagainnetarticlesincremental-mapreduce

bull Chained MapReduce

bull 복수의 MapReduce 작업을 이어서 하는 것 (Real time Incremental 특성 유지 )

bull MapReduce 결과를 2 차 DB 로 동기화하여 거기서 다시 MapReduce 를 실행

bull httpexamplescloudantcomsales_designsalesindexhtml

Search Index

6

bull 일상적인 언어 습관에 가까운 검색 방식

bull 키워드 검색을 위한 내장 index 함수를 이용하여 인덱스를 생성

bull Designed Document 에 저장되는 index 함수 예제

bull Index(param1 param2 param3)

bull param1 Apache Lucene 필드

bull param2 전문 인덱스 데이터

bull param3 옵션 JSON

bull store yes index analyzed_no_normsbull Store 검색 결과 포함 여부bull Index 인덱싱 방식

function(doc) index(name docname store yes index analyzed_no_norms)

Search API index 작성 방법 예제

7

function(doc)

index(default doc_id)

if(docmin_length)

index(min_length docmin_length store yes)

if(docdiet)

index(diet docdiet store yes)

if (doclatin_name)

index(latin_name doclatin_name store yes)

if (docclass)

index(class docclass store yes)

Search API

8

bull 형식httpltuseridgtcloudantcomltdatabasegt_designltdesign_documentgt_searchltindex_namegt

bull 매뉴얼 httpdocscloudantcomapisearchhtml

bull Query String

bull Parameter

bull q 검색 쿼리bull limit 검색 결과의 최대 허용 문서bull include_docs 검색 결과 문서에 원본 문서를 모두 추가할 것인가를 설정bull Stale 성능 튜닝 포인트 최신의 인덱스를 적용해야 함을 강제함bull sort 정렬 컬럼 및 오름차순 내림차순 설정

bull Sort=ldquoagerdquo 나이 컬럼 오름차순 bull Sort=ldquo-agerdquo 나이 컬럼 내림차순bull ort=[-age height] 나이 컬럼 내림차순 키 컬럼 오름차순

Search API 기본 문법 (Lucene 문법 )

9

bull 검색 쿼리는 q 파라미터에 설정

bull 예제https[username]cloudantcomanimaldb_designviews101_searchanimalsq=classbird

bull 매뉴얼 httpluceneapacheorgcore3_6_0queryparsersyntaxhtml

bull 논리연산자 AND + OR NOT - (Apache Lucene 문법 지원 )

bull 문자열 검색bull classbird class 컬럼에 bird 문자열인 모든 문서

bull classbird class 컬럼에 bird 문자열을 포함하는 모든 문서

bull l 모든 컬럼 중 L 로 시작하는 단어를 포함하는 모든 문서

bull 숫자 amp 날짜 검색

bull min_number[1 TO 3] min_number 컬럼의 범위가 1~3 인 모든 문서

bull min_number[1 TO Infinity] min_number 컬럼의 범위가 1 이상인 모든 문서

bull min_number[-Infinity TO 1] min_number 컬럼의 범위가 3 이하인 모든 문서

  • Cloudant가 제공하는 Index 방식
  • Secondary Index
  • View ndash Secondary Index의 결과
  • MapReduce
  • MapReduce (2)
  • Search Index
  • Search API index 작성 방법 예제
  • Search API
  • Search API 기본 문법 (Lucene 문법)
Page 2: Cloudant Indexes (Korean)

Secondary Index

2

bull _id 를 기준으로 한 Primary Unique Index 를 보완

bull _id 이외의 다른 필드 또는 필드들의 조합을 대상으로 함bull Key 값은 중복 허용

bull 예 author subject [author subject]

bull 생성 방법bull 일반 Design Document

bull MapReduce 를 사용 (Map 의 emit 함수 )

데이터Map 함수

인덱스

조회 결과

View ndash Secondary Index 의 결과

3

bull Map 의 emit 함수 실행 결과가 실시간 처리 되어 View 형태로 저장( 원본 DB 의 별도 )

bull 원본 데이터 변경 시 전체 재 계산이 아닌 변경분만 재 계산 (Incremental MapReduce)

bull 클러스터 (Cloudant BigCouch) 에서는 여러 노드에 분산되어 처리 및 저장 됨

bull 동일 데이터 (Database) 에 대한 복수 View 생성 가능

bull Reduce 를 통해 데이터 통계 (RDB 의 sum amp group by 에 해당 ) 생성( 사용 여부는 선택적 )

MapReduce

4

bull 주로 JavaScript 로 작성 되며 다른 언어도 지원 가능

bull 일반적인 MapReduce 와 마찬가지로hellipbull Map 함수에서 key value 쌍을 생성

bull Reduce 함수에서 데이터 (key value 쌍의 배열 ) 에 대한 계산 통계 작업

bull 병렬 처리 ndash 클러스터에서는 여러 노드에서 분산 처리 및 결과 취합

MapReduce

5

bull Incremental MapReduce

bull Real time DB 의 데이터에 변경이 생기면 바로 실시간 재 계산 (View)

bull Incremental 데이터 변경 시 전체를 재 계산 하지 않고 필요한 부분만 재 계산 하는 방법

bull httpeagainnetarticlesincremental-mapreduce

bull Chained MapReduce

bull 복수의 MapReduce 작업을 이어서 하는 것 (Real time Incremental 특성 유지 )

bull MapReduce 결과를 2 차 DB 로 동기화하여 거기서 다시 MapReduce 를 실행

bull httpexamplescloudantcomsales_designsalesindexhtml

Search Index

6

bull 일상적인 언어 습관에 가까운 검색 방식

bull 키워드 검색을 위한 내장 index 함수를 이용하여 인덱스를 생성

bull Designed Document 에 저장되는 index 함수 예제

bull Index(param1 param2 param3)

bull param1 Apache Lucene 필드

bull param2 전문 인덱스 데이터

bull param3 옵션 JSON

bull store yes index analyzed_no_normsbull Store 검색 결과 포함 여부bull Index 인덱싱 방식

function(doc) index(name docname store yes index analyzed_no_norms)

Search API index 작성 방법 예제

7

function(doc)

index(default doc_id)

if(docmin_length)

index(min_length docmin_length store yes)

if(docdiet)

index(diet docdiet store yes)

if (doclatin_name)

index(latin_name doclatin_name store yes)

if (docclass)

index(class docclass store yes)

Search API

8

bull 형식httpltuseridgtcloudantcomltdatabasegt_designltdesign_documentgt_searchltindex_namegt

bull 매뉴얼 httpdocscloudantcomapisearchhtml

bull Query String

bull Parameter

bull q 검색 쿼리bull limit 검색 결과의 최대 허용 문서bull include_docs 검색 결과 문서에 원본 문서를 모두 추가할 것인가를 설정bull Stale 성능 튜닝 포인트 최신의 인덱스를 적용해야 함을 강제함bull sort 정렬 컬럼 및 오름차순 내림차순 설정

bull Sort=ldquoagerdquo 나이 컬럼 오름차순 bull Sort=ldquo-agerdquo 나이 컬럼 내림차순bull ort=[-age height] 나이 컬럼 내림차순 키 컬럼 오름차순

Search API 기본 문법 (Lucene 문법 )

9

bull 검색 쿼리는 q 파라미터에 설정

bull 예제https[username]cloudantcomanimaldb_designviews101_searchanimalsq=classbird

bull 매뉴얼 httpluceneapacheorgcore3_6_0queryparsersyntaxhtml

bull 논리연산자 AND + OR NOT - (Apache Lucene 문법 지원 )

bull 문자열 검색bull classbird class 컬럼에 bird 문자열인 모든 문서

bull classbird class 컬럼에 bird 문자열을 포함하는 모든 문서

bull l 모든 컬럼 중 L 로 시작하는 단어를 포함하는 모든 문서

bull 숫자 amp 날짜 검색

bull min_number[1 TO 3] min_number 컬럼의 범위가 1~3 인 모든 문서

bull min_number[1 TO Infinity] min_number 컬럼의 범위가 1 이상인 모든 문서

bull min_number[-Infinity TO 1] min_number 컬럼의 범위가 3 이하인 모든 문서

  • Cloudant가 제공하는 Index 방식
  • Secondary Index
  • View ndash Secondary Index의 결과
  • MapReduce
  • MapReduce (2)
  • Search Index
  • Search API index 작성 방법 예제
  • Search API
  • Search API 기본 문법 (Lucene 문법)
Page 3: Cloudant Indexes (Korean)

View ndash Secondary Index 의 결과

3

bull Map 의 emit 함수 실행 결과가 실시간 처리 되어 View 형태로 저장( 원본 DB 의 별도 )

bull 원본 데이터 변경 시 전체 재 계산이 아닌 변경분만 재 계산 (Incremental MapReduce)

bull 클러스터 (Cloudant BigCouch) 에서는 여러 노드에 분산되어 처리 및 저장 됨

bull 동일 데이터 (Database) 에 대한 복수 View 생성 가능

bull Reduce 를 통해 데이터 통계 (RDB 의 sum amp group by 에 해당 ) 생성( 사용 여부는 선택적 )

MapReduce

4

bull 주로 JavaScript 로 작성 되며 다른 언어도 지원 가능

bull 일반적인 MapReduce 와 마찬가지로hellipbull Map 함수에서 key value 쌍을 생성

bull Reduce 함수에서 데이터 (key value 쌍의 배열 ) 에 대한 계산 통계 작업

bull 병렬 처리 ndash 클러스터에서는 여러 노드에서 분산 처리 및 결과 취합

MapReduce

5

bull Incremental MapReduce

bull Real time DB 의 데이터에 변경이 생기면 바로 실시간 재 계산 (View)

bull Incremental 데이터 변경 시 전체를 재 계산 하지 않고 필요한 부분만 재 계산 하는 방법

bull httpeagainnetarticlesincremental-mapreduce

bull Chained MapReduce

bull 복수의 MapReduce 작업을 이어서 하는 것 (Real time Incremental 특성 유지 )

bull MapReduce 결과를 2 차 DB 로 동기화하여 거기서 다시 MapReduce 를 실행

bull httpexamplescloudantcomsales_designsalesindexhtml

Search Index

6

bull 일상적인 언어 습관에 가까운 검색 방식

bull 키워드 검색을 위한 내장 index 함수를 이용하여 인덱스를 생성

bull Designed Document 에 저장되는 index 함수 예제

bull Index(param1 param2 param3)

bull param1 Apache Lucene 필드

bull param2 전문 인덱스 데이터

bull param3 옵션 JSON

bull store yes index analyzed_no_normsbull Store 검색 결과 포함 여부bull Index 인덱싱 방식

function(doc) index(name docname store yes index analyzed_no_norms)

Search API index 작성 방법 예제

7

function(doc)

index(default doc_id)

if(docmin_length)

index(min_length docmin_length store yes)

if(docdiet)

index(diet docdiet store yes)

if (doclatin_name)

index(latin_name doclatin_name store yes)

if (docclass)

index(class docclass store yes)

Search API

8

bull 형식httpltuseridgtcloudantcomltdatabasegt_designltdesign_documentgt_searchltindex_namegt

bull 매뉴얼 httpdocscloudantcomapisearchhtml

bull Query String

bull Parameter

bull q 검색 쿼리bull limit 검색 결과의 최대 허용 문서bull include_docs 검색 결과 문서에 원본 문서를 모두 추가할 것인가를 설정bull Stale 성능 튜닝 포인트 최신의 인덱스를 적용해야 함을 강제함bull sort 정렬 컬럼 및 오름차순 내림차순 설정

bull Sort=ldquoagerdquo 나이 컬럼 오름차순 bull Sort=ldquo-agerdquo 나이 컬럼 내림차순bull ort=[-age height] 나이 컬럼 내림차순 키 컬럼 오름차순

Search API 기본 문법 (Lucene 문법 )

9

bull 검색 쿼리는 q 파라미터에 설정

bull 예제https[username]cloudantcomanimaldb_designviews101_searchanimalsq=classbird

bull 매뉴얼 httpluceneapacheorgcore3_6_0queryparsersyntaxhtml

bull 논리연산자 AND + OR NOT - (Apache Lucene 문법 지원 )

bull 문자열 검색bull classbird class 컬럼에 bird 문자열인 모든 문서

bull classbird class 컬럼에 bird 문자열을 포함하는 모든 문서

bull l 모든 컬럼 중 L 로 시작하는 단어를 포함하는 모든 문서

bull 숫자 amp 날짜 검색

bull min_number[1 TO 3] min_number 컬럼의 범위가 1~3 인 모든 문서

bull min_number[1 TO Infinity] min_number 컬럼의 범위가 1 이상인 모든 문서

bull min_number[-Infinity TO 1] min_number 컬럼의 범위가 3 이하인 모든 문서

  • Cloudant가 제공하는 Index 방식
  • Secondary Index
  • View ndash Secondary Index의 결과
  • MapReduce
  • MapReduce (2)
  • Search Index
  • Search API index 작성 방법 예제
  • Search API
  • Search API 기본 문법 (Lucene 문법)
Page 4: Cloudant Indexes (Korean)

MapReduce

4

bull 주로 JavaScript 로 작성 되며 다른 언어도 지원 가능

bull 일반적인 MapReduce 와 마찬가지로hellipbull Map 함수에서 key value 쌍을 생성

bull Reduce 함수에서 데이터 (key value 쌍의 배열 ) 에 대한 계산 통계 작업

bull 병렬 처리 ndash 클러스터에서는 여러 노드에서 분산 처리 및 결과 취합

MapReduce

5

bull Incremental MapReduce

bull Real time DB 의 데이터에 변경이 생기면 바로 실시간 재 계산 (View)

bull Incremental 데이터 변경 시 전체를 재 계산 하지 않고 필요한 부분만 재 계산 하는 방법

bull httpeagainnetarticlesincremental-mapreduce

bull Chained MapReduce

bull 복수의 MapReduce 작업을 이어서 하는 것 (Real time Incremental 특성 유지 )

bull MapReduce 결과를 2 차 DB 로 동기화하여 거기서 다시 MapReduce 를 실행

bull httpexamplescloudantcomsales_designsalesindexhtml

Search Index

6

bull 일상적인 언어 습관에 가까운 검색 방식

bull 키워드 검색을 위한 내장 index 함수를 이용하여 인덱스를 생성

bull Designed Document 에 저장되는 index 함수 예제

bull Index(param1 param2 param3)

bull param1 Apache Lucene 필드

bull param2 전문 인덱스 데이터

bull param3 옵션 JSON

bull store yes index analyzed_no_normsbull Store 검색 결과 포함 여부bull Index 인덱싱 방식

function(doc) index(name docname store yes index analyzed_no_norms)

Search API index 작성 방법 예제

7

function(doc)

index(default doc_id)

if(docmin_length)

index(min_length docmin_length store yes)

if(docdiet)

index(diet docdiet store yes)

if (doclatin_name)

index(latin_name doclatin_name store yes)

if (docclass)

index(class docclass store yes)

Search API

8

bull 형식httpltuseridgtcloudantcomltdatabasegt_designltdesign_documentgt_searchltindex_namegt

bull 매뉴얼 httpdocscloudantcomapisearchhtml

bull Query String

bull Parameter

bull q 검색 쿼리bull limit 검색 결과의 최대 허용 문서bull include_docs 검색 결과 문서에 원본 문서를 모두 추가할 것인가를 설정bull Stale 성능 튜닝 포인트 최신의 인덱스를 적용해야 함을 강제함bull sort 정렬 컬럼 및 오름차순 내림차순 설정

bull Sort=ldquoagerdquo 나이 컬럼 오름차순 bull Sort=ldquo-agerdquo 나이 컬럼 내림차순bull ort=[-age height] 나이 컬럼 내림차순 키 컬럼 오름차순

Search API 기본 문법 (Lucene 문법 )

9

bull 검색 쿼리는 q 파라미터에 설정

bull 예제https[username]cloudantcomanimaldb_designviews101_searchanimalsq=classbird

bull 매뉴얼 httpluceneapacheorgcore3_6_0queryparsersyntaxhtml

bull 논리연산자 AND + OR NOT - (Apache Lucene 문법 지원 )

bull 문자열 검색bull classbird class 컬럼에 bird 문자열인 모든 문서

bull classbird class 컬럼에 bird 문자열을 포함하는 모든 문서

bull l 모든 컬럼 중 L 로 시작하는 단어를 포함하는 모든 문서

bull 숫자 amp 날짜 검색

bull min_number[1 TO 3] min_number 컬럼의 범위가 1~3 인 모든 문서

bull min_number[1 TO Infinity] min_number 컬럼의 범위가 1 이상인 모든 문서

bull min_number[-Infinity TO 1] min_number 컬럼의 범위가 3 이하인 모든 문서

  • Cloudant가 제공하는 Index 방식
  • Secondary Index
  • View ndash Secondary Index의 결과
  • MapReduce
  • MapReduce (2)
  • Search Index
  • Search API index 작성 방법 예제
  • Search API
  • Search API 기본 문법 (Lucene 문법)
Page 5: Cloudant Indexes (Korean)

MapReduce

5

bull Incremental MapReduce

bull Real time DB 의 데이터에 변경이 생기면 바로 실시간 재 계산 (View)

bull Incremental 데이터 변경 시 전체를 재 계산 하지 않고 필요한 부분만 재 계산 하는 방법

bull httpeagainnetarticlesincremental-mapreduce

bull Chained MapReduce

bull 복수의 MapReduce 작업을 이어서 하는 것 (Real time Incremental 특성 유지 )

bull MapReduce 결과를 2 차 DB 로 동기화하여 거기서 다시 MapReduce 를 실행

bull httpexamplescloudantcomsales_designsalesindexhtml

Search Index

6

bull 일상적인 언어 습관에 가까운 검색 방식

bull 키워드 검색을 위한 내장 index 함수를 이용하여 인덱스를 생성

bull Designed Document 에 저장되는 index 함수 예제

bull Index(param1 param2 param3)

bull param1 Apache Lucene 필드

bull param2 전문 인덱스 데이터

bull param3 옵션 JSON

bull store yes index analyzed_no_normsbull Store 검색 결과 포함 여부bull Index 인덱싱 방식

function(doc) index(name docname store yes index analyzed_no_norms)

Search API index 작성 방법 예제

7

function(doc)

index(default doc_id)

if(docmin_length)

index(min_length docmin_length store yes)

if(docdiet)

index(diet docdiet store yes)

if (doclatin_name)

index(latin_name doclatin_name store yes)

if (docclass)

index(class docclass store yes)

Search API

8

bull 형식httpltuseridgtcloudantcomltdatabasegt_designltdesign_documentgt_searchltindex_namegt

bull 매뉴얼 httpdocscloudantcomapisearchhtml

bull Query String

bull Parameter

bull q 검색 쿼리bull limit 검색 결과의 최대 허용 문서bull include_docs 검색 결과 문서에 원본 문서를 모두 추가할 것인가를 설정bull Stale 성능 튜닝 포인트 최신의 인덱스를 적용해야 함을 강제함bull sort 정렬 컬럼 및 오름차순 내림차순 설정

bull Sort=ldquoagerdquo 나이 컬럼 오름차순 bull Sort=ldquo-agerdquo 나이 컬럼 내림차순bull ort=[-age height] 나이 컬럼 내림차순 키 컬럼 오름차순

Search API 기본 문법 (Lucene 문법 )

9

bull 검색 쿼리는 q 파라미터에 설정

bull 예제https[username]cloudantcomanimaldb_designviews101_searchanimalsq=classbird

bull 매뉴얼 httpluceneapacheorgcore3_6_0queryparsersyntaxhtml

bull 논리연산자 AND + OR NOT - (Apache Lucene 문법 지원 )

bull 문자열 검색bull classbird class 컬럼에 bird 문자열인 모든 문서

bull classbird class 컬럼에 bird 문자열을 포함하는 모든 문서

bull l 모든 컬럼 중 L 로 시작하는 단어를 포함하는 모든 문서

bull 숫자 amp 날짜 검색

bull min_number[1 TO 3] min_number 컬럼의 범위가 1~3 인 모든 문서

bull min_number[1 TO Infinity] min_number 컬럼의 범위가 1 이상인 모든 문서

bull min_number[-Infinity TO 1] min_number 컬럼의 범위가 3 이하인 모든 문서

  • Cloudant가 제공하는 Index 방식
  • Secondary Index
  • View ndash Secondary Index의 결과
  • MapReduce
  • MapReduce (2)
  • Search Index
  • Search API index 작성 방법 예제
  • Search API
  • Search API 기본 문법 (Lucene 문법)
Page 6: Cloudant Indexes (Korean)

Search Index

6

bull 일상적인 언어 습관에 가까운 검색 방식

bull 키워드 검색을 위한 내장 index 함수를 이용하여 인덱스를 생성

bull Designed Document 에 저장되는 index 함수 예제

bull Index(param1 param2 param3)

bull param1 Apache Lucene 필드

bull param2 전문 인덱스 데이터

bull param3 옵션 JSON

bull store yes index analyzed_no_normsbull Store 검색 결과 포함 여부bull Index 인덱싱 방식

function(doc) index(name docname store yes index analyzed_no_norms)

Search API index 작성 방법 예제

7

function(doc)

index(default doc_id)

if(docmin_length)

index(min_length docmin_length store yes)

if(docdiet)

index(diet docdiet store yes)

if (doclatin_name)

index(latin_name doclatin_name store yes)

if (docclass)

index(class docclass store yes)

Search API

8

bull 형식httpltuseridgtcloudantcomltdatabasegt_designltdesign_documentgt_searchltindex_namegt

bull 매뉴얼 httpdocscloudantcomapisearchhtml

bull Query String

bull Parameter

bull q 검색 쿼리bull limit 검색 결과의 최대 허용 문서bull include_docs 검색 결과 문서에 원본 문서를 모두 추가할 것인가를 설정bull Stale 성능 튜닝 포인트 최신의 인덱스를 적용해야 함을 강제함bull sort 정렬 컬럼 및 오름차순 내림차순 설정

bull Sort=ldquoagerdquo 나이 컬럼 오름차순 bull Sort=ldquo-agerdquo 나이 컬럼 내림차순bull ort=[-age height] 나이 컬럼 내림차순 키 컬럼 오름차순

Search API 기본 문법 (Lucene 문법 )

9

bull 검색 쿼리는 q 파라미터에 설정

bull 예제https[username]cloudantcomanimaldb_designviews101_searchanimalsq=classbird

bull 매뉴얼 httpluceneapacheorgcore3_6_0queryparsersyntaxhtml

bull 논리연산자 AND + OR NOT - (Apache Lucene 문법 지원 )

bull 문자열 검색bull classbird class 컬럼에 bird 문자열인 모든 문서

bull classbird class 컬럼에 bird 문자열을 포함하는 모든 문서

bull l 모든 컬럼 중 L 로 시작하는 단어를 포함하는 모든 문서

bull 숫자 amp 날짜 검색

bull min_number[1 TO 3] min_number 컬럼의 범위가 1~3 인 모든 문서

bull min_number[1 TO Infinity] min_number 컬럼의 범위가 1 이상인 모든 문서

bull min_number[-Infinity TO 1] min_number 컬럼의 범위가 3 이하인 모든 문서

  • Cloudant가 제공하는 Index 방식
  • Secondary Index
  • View ndash Secondary Index의 결과
  • MapReduce
  • MapReduce (2)
  • Search Index
  • Search API index 작성 방법 예제
  • Search API
  • Search API 기본 문법 (Lucene 문법)
Page 7: Cloudant Indexes (Korean)

Search API index 작성 방법 예제

7

function(doc)

index(default doc_id)

if(docmin_length)

index(min_length docmin_length store yes)

if(docdiet)

index(diet docdiet store yes)

if (doclatin_name)

index(latin_name doclatin_name store yes)

if (docclass)

index(class docclass store yes)

Search API

8

bull 형식httpltuseridgtcloudantcomltdatabasegt_designltdesign_documentgt_searchltindex_namegt

bull 매뉴얼 httpdocscloudantcomapisearchhtml

bull Query String

bull Parameter

bull q 검색 쿼리bull limit 검색 결과의 최대 허용 문서bull include_docs 검색 결과 문서에 원본 문서를 모두 추가할 것인가를 설정bull Stale 성능 튜닝 포인트 최신의 인덱스를 적용해야 함을 강제함bull sort 정렬 컬럼 및 오름차순 내림차순 설정

bull Sort=ldquoagerdquo 나이 컬럼 오름차순 bull Sort=ldquo-agerdquo 나이 컬럼 내림차순bull ort=[-age height] 나이 컬럼 내림차순 키 컬럼 오름차순

Search API 기본 문법 (Lucene 문법 )

9

bull 검색 쿼리는 q 파라미터에 설정

bull 예제https[username]cloudantcomanimaldb_designviews101_searchanimalsq=classbird

bull 매뉴얼 httpluceneapacheorgcore3_6_0queryparsersyntaxhtml

bull 논리연산자 AND + OR NOT - (Apache Lucene 문법 지원 )

bull 문자열 검색bull classbird class 컬럼에 bird 문자열인 모든 문서

bull classbird class 컬럼에 bird 문자열을 포함하는 모든 문서

bull l 모든 컬럼 중 L 로 시작하는 단어를 포함하는 모든 문서

bull 숫자 amp 날짜 검색

bull min_number[1 TO 3] min_number 컬럼의 범위가 1~3 인 모든 문서

bull min_number[1 TO Infinity] min_number 컬럼의 범위가 1 이상인 모든 문서

bull min_number[-Infinity TO 1] min_number 컬럼의 범위가 3 이하인 모든 문서

  • Cloudant가 제공하는 Index 방식
  • Secondary Index
  • View ndash Secondary Index의 결과
  • MapReduce
  • MapReduce (2)
  • Search Index
  • Search API index 작성 방법 예제
  • Search API
  • Search API 기본 문법 (Lucene 문법)
Page 8: Cloudant Indexes (Korean)

Search API

8

bull 형식httpltuseridgtcloudantcomltdatabasegt_designltdesign_documentgt_searchltindex_namegt

bull 매뉴얼 httpdocscloudantcomapisearchhtml

bull Query String

bull Parameter

bull q 검색 쿼리bull limit 검색 결과의 최대 허용 문서bull include_docs 검색 결과 문서에 원본 문서를 모두 추가할 것인가를 설정bull Stale 성능 튜닝 포인트 최신의 인덱스를 적용해야 함을 강제함bull sort 정렬 컬럼 및 오름차순 내림차순 설정

bull Sort=ldquoagerdquo 나이 컬럼 오름차순 bull Sort=ldquo-agerdquo 나이 컬럼 내림차순bull ort=[-age height] 나이 컬럼 내림차순 키 컬럼 오름차순

Search API 기본 문법 (Lucene 문법 )

9

bull 검색 쿼리는 q 파라미터에 설정

bull 예제https[username]cloudantcomanimaldb_designviews101_searchanimalsq=classbird

bull 매뉴얼 httpluceneapacheorgcore3_6_0queryparsersyntaxhtml

bull 논리연산자 AND + OR NOT - (Apache Lucene 문법 지원 )

bull 문자열 검색bull classbird class 컬럼에 bird 문자열인 모든 문서

bull classbird class 컬럼에 bird 문자열을 포함하는 모든 문서

bull l 모든 컬럼 중 L 로 시작하는 단어를 포함하는 모든 문서

bull 숫자 amp 날짜 검색

bull min_number[1 TO 3] min_number 컬럼의 범위가 1~3 인 모든 문서

bull min_number[1 TO Infinity] min_number 컬럼의 범위가 1 이상인 모든 문서

bull min_number[-Infinity TO 1] min_number 컬럼의 범위가 3 이하인 모든 문서

  • Cloudant가 제공하는 Index 방식
  • Secondary Index
  • View ndash Secondary Index의 결과
  • MapReduce
  • MapReduce (2)
  • Search Index
  • Search API index 작성 방법 예제
  • Search API
  • Search API 기본 문법 (Lucene 문법)
Page 9: Cloudant Indexes (Korean)

Search API 기본 문법 (Lucene 문법 )

9

bull 검색 쿼리는 q 파라미터에 설정

bull 예제https[username]cloudantcomanimaldb_designviews101_searchanimalsq=classbird

bull 매뉴얼 httpluceneapacheorgcore3_6_0queryparsersyntaxhtml

bull 논리연산자 AND + OR NOT - (Apache Lucene 문법 지원 )

bull 문자열 검색bull classbird class 컬럼에 bird 문자열인 모든 문서

bull classbird class 컬럼에 bird 문자열을 포함하는 모든 문서

bull l 모든 컬럼 중 L 로 시작하는 단어를 포함하는 모든 문서

bull 숫자 amp 날짜 검색

bull min_number[1 TO 3] min_number 컬럼의 범위가 1~3 인 모든 문서

bull min_number[1 TO Infinity] min_number 컬럼의 범위가 1 이상인 모든 문서

bull min_number[-Infinity TO 1] min_number 컬럼의 범위가 3 이하인 모든 문서

  • Cloudant가 제공하는 Index 방식
  • Secondary Index
  • View ndash Secondary Index의 결과
  • MapReduce
  • MapReduce (2)
  • Search Index
  • Search API index 작성 방법 예제
  • Search API
  • Search API 기본 문법 (Lucene 문법)