문서 메뉴

문서 홈애플리케이션 개발MongoDB 드라이버Ruby MongoDB Driver

텍스트 검색

MongoDB는 문자열 콘텐츠에 대한 텍스트 검색 쿼리를 지원하는 텍스트 인덱스 를 제공합니다. 텍스트 인덱스에는 값이 문자열 또는 문자열 요소의 배열인 모든 필드가 포함될 수 있습니다.

참고

MongoDB Atlas는 더욱 강력하고 유연한 텍스트 검색 솔루션인 Atlas Search 도 제공합니다. 이 페이지의 나머지 부분에서는 Atlas Search가 아닌 텍스트 인덱스에 대해 설명합니다.

Ruby 드라이버로 텍스트 검색을 수행하려면 먼저 indexes.create_one() 을(를) 사용하여 텍스트 인덱스를 만듭니다. 다음 명령은 test 데이터베이스의 restaurants collection의 name 필드에 텍스트 인덱스를 생성합니다.

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')
client['restaurants'].indexes.create_one( { :name => 'text' } )

텍스트 인덱스가 생성되면 쿼리의 일부로 사용할 수 있습니다. 다음 코드는 restaurants collection에서 garden 라는 단어가 포함된 모든 문서를 대소문자를 구분하지 않고 찾습니다.

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'test')
client[:restaurants].find(
{ '$text' =>
{ '$search' => 'garden', '$caseSensitive' => false }
}
).each do |document|
#=> Yields a BSON::Document.
end
←  맵 축소지리 공간적 검색 →