모듈: Mongoid::SearchIndexable::ClassMethods
- 다음에 정의됨:
- lib/mongoid/search_indexable.rb
개요
기능의 클래스 수준 메서드에 대한 구현입니다.
인스턴스 메서드 요약 접기
-
#create_search_indexes ⇒ Array<String>
등록된 모든 검색 인덱스의 생성을 요청합니다.
-
#remove_search_index(name: nil, ID: nil) ⇒ 객체
지정된 이름 또는 ID로 지정된 검색 인덱스 를 제거합니다.
-
#remove_search_indexes ⇒ 객체
등록된 모든 검색 인덱스의 제거를 요청합니다.
-
#search_index(name_or_defn, defn = nil) ⇒ 객체
제공된 단일 또는 복합 키에 대한 인덱스 정의를 추가합니다.
-
#search_indexes(options = {}) ⇒ 객체
현재 모델의 컬렉션 에서 사용할 수 있는 검색 인덱스를 쿼리하기 위한 편리한 메서드입니다.
-
#wait_for_search_indexes(names, 간격: 5) {|SearchIndexable::Status| ... } ⇒ 객체
명명된 검색 인덱스가 생성될 때까지 기다립니다.
인스턴스 메서드 세부 정보
#create_search_indexes ⇒ Array<String>
등록된 모든 검색 인덱스의 생성을 요청합니다. 검색 인덱스는 비동기적으로 생성되며 완전히 사용하는 데 몇 분 정도 걸릴 수 있습니다.
65 66 67 68 69 |
# 파일 'lib/mongoid/search_indexable.rb', 줄 65 def create_search_indexes 반환 만약 search_index_specs.비어 있나요? 컬렉션.search_indexes.create_many(search_index_specs) end |
#remove_search_index(name: nil, ID: nil) ⇒ 객체
지정된 이름 또는 ID로 지정된 검색 인덱스 를 제거합니다. 이름 또는 ID 중 하나를 입력해야 하지만 둘 다 입력할 수는 없습니다.
107 108 109 110 111 112 113 114 |
# 파일 'lib/mongoid/search_indexable.rb', 줄 107 def remove_search_index(이름: nil, ID: nil) 로거.정보( "검색 인덱스: 컬렉션 ID' #{collection. 컬렉션}'에서 검색 인덱스 '#{ name ||ID } ' ) 컬렉션.search_indexes.drop_one(이름: name, ID: ID) 끝 |
#remove_search_indexes ⇒ 객체
검색 인덱스만 제거 할 수 있다면 좋을 것입니다.
등록된 모든 검색 인덱스의 제거를 요청합니다. 검색 인덱스는 비동기적으로 제거되며 완전히 삭제되는 데 몇 분 정도 걸릴 수 있습니다.
즉, 모델에서 선언된 인덱스이지만 모델이 인덱스 이름을 지정하지 못할 수 있기 때문에 해당 인덱스 의 이름이나 ID를 알 수 있다고 보장할 수 없습니다. 그러나 모델이 원하는 모든 검색 인덱스를 일대일로 선언하는 것이 의도이므로 모든 검색 인덱스를 제거해도 충분하다고 가정하는 것은 무리가 아닙니다. 특정 인덱스 또는 인덱스 설정하다 을 대신 제거해야 하는 경우 search_indexes.each를 remove_search_index와 함께 사용하는 것이 좋습니다.
128 129 130 131 132 |
# 파일 'lib/mongoid/search_indexable.rb', 줄 128 def remove_search_indexes search_indexes.각 do |사양| remove_search_index ID: 사양['ID'] end end |
#search_index(name_or_defn, defn = nil) ⇒ 객체
제공된 단일 또는 복합 키에 대한 인덱스 정의를 추가합니다.
147 148 149 150 151 152 153 |
# 파일 'lib/mongoid/search_indexable.rb', 줄 147 def search_index(name_or_defn, defn = nil) 이름 = name_or_defn 이름, defn = nil, 이름 만약 이름.is_a?(해시) 사양 = { 정의: defn }.탭 { |s| s[:name] = 이름.to_s 만약 이름 } search_index_specs.push(사양) end |
#search_indexes(options = {}) ⇒ 객체
현재 모델의 컬렉션 에서 사용할 수 있는 검색 인덱스를 쿼리하기 위한 편리한 메서드입니다.
98 99 100 |
# 파일 'lib/mongoid/search_indexable.rb', 줄 98 def search_indexes( = {}) 컬렉션.search_indexes() end |
#wait_for_search_indexes(names, 간격: 5) {|SearchIndexable::Status| ... } ⇒ 객체
명명된 검색 인덱스가 생성될 때까지 기다립니다.
78 79 80 81 82 83 84 85 86 |
# 파일 'lib/mongoid/search_indexable.rb', 줄 78 def wait_for_search_indexes(이름, interval: 5) 루프 do 상태 = 상태.신규(get_indexes(이름)) yield 상태 만약 block_given? 휴식 만약 상태.준비됐나요? sleep interval end end |