프론트엔드 정복하기
MongoDB에서 text 검색 & index 설정 본문
MongoDB의 $text 텍스트 인덱스란?)
특정 string 검색어와 일치하는 필드 내용을 찾는다.
(인덱싱된 필드의 내용에 대해 텍스트 검색을 수행한다.)
$text 표현문 기본
{
$ text :
{
$ search : < string > ,
$ language : < string > ,
$ caseSensitive : < boolean > ,
$ diacriticSensitive : < boolean >
}
}
필드 | 타입 | 설명 |
$search | string | 검색에 사용하는 문자열 |
$language | string | (선택값) 불용어 목록 등을 설정함. |
$caseSensitive | boolean | (선택값) 대소문자 구분을 활성화 - default : false ( 구분 x ) |
$diacriticSensitive | boolean | (선택값) 발음부호 구분 활성화 - default : false |
docs.mongodb.com/manual/reference/operator/query/text/#text-query-operator-behavior
이때, db.collection에 <index 메소드>로 <text index>를 설정해 주어야
$text 표현문으로 검색할 수 있다!!
다음을 보자.
productSchema.index({
title:'text',
description:'text'
})
검색했을 때 검색어와, 검색 모델(collection)의 어떤 필드와 매칭시키고 싶은가??
제품의 '제목' 필드에서 찾고 싶은가? '설명' 필드에서 찾고 싶은가?
검색어로 찾고 싶은 필드에 'text'로 indexing 해준다!
++ 검색 가중치
제목과 설명 중 제목에 더 검색결과의 가중치를 두고 싶다면???
productSchema.index({
title:'text',
description:'text'
},{
weights:{
title:10,
description:5
}
})
docs.mongodb.com/manual/tutorial/control-results-of-text-search/
'Node > Node_Tip & 해결경험' 카테고리의 다른 글
MongoDB 쿼리 find 조건문 (0) | 2020.10.02 |
---|---|
[MongoDB] whitelist에 로컬IP 저장 (+사설, 공인ip) (0) | 2020.08.24 |
Node 유효성검사하기 라이브러리 (express-validator) (0) | 2020.07.15 |
SNS 계정으로 로그인하기 (0) | 2020.06.19 |
gitignore 사용하기 (0) | 2020.06.17 |