2.X/1. Getting Started

1-05-2. Multi-index, Multitype

drscg 2017. 9. 30. 20:54

Did you notice that the results from the preceding empty search contained documents of different types—user and tweet—from two different indices—us and gb?

위의 empty search에서, query의 결과에 포함된 document가 2개의 다른 index(usgb)에서 다른 type(usertweet)을 가지고 있다는 것을 혹시 보았는가?

By not limiting our search to a particular index or type, we have searched across all documents in the cluster. Elasticsearch forwarded the search request in parallel to a primary or replica of every shard in the cluster, gathered the results to select the overall top 10, and returned them to us.

특정 index, type에 대한 검색을 제한하지 않음으로써, cluster에 있는 모든 document를 검색할 수 있다. Elasticsearch는 cluster에 있는 모든 shard의 primary 또는 replica shard에 병렬로 검색 request를 전달한다. 그리고 그 결과를 수집하고 전체 상위 10개를 골라 반환한다.

Usually, however, you will want to search within one or more specific indices, and probably one or more specific types. We can do this by specifying the index and type in the URL, as follows:

그러나 일반적으로, 하나 이상의 특정 indices에, 하나 이상의 특정 type에서 검색하는 경우도 있다. URL에 index와 type을 지정하여, 다음과 같이 할 수 있다.

/_search

Search all types in all indices

모든 indices에 있는 모든 type에서 검색

/gb/_search

Search all types in the gb index

gb index의 모든 type에서 검색

/gb,us/_search

Search all types in the gb and us indices

gb 와 us index의 모든 type에서 검색

/g*,u*/_search

Search all types in any indices beginning with g or beginning with u

g 나 u 로 시작하는 모든 index의 모든 type에서 검색

/gb/user/_search

Search type user in the gb index

gb index의 user type에서 검색

/gb,us/user,tweet/_search

Search types user and tweet in the gb and us indices

gb 와 us index의 usertweet type에서 검색

/_all/user,tweet/_search

Search types user and tweet in all indices

모든 indices의 usertweet type에서 검색

When you search within a single index, Elasticsearch forwards the search request to a primary or replica of every shard in that index, and then gathers the results from each shard. Searching within multiple indices works in exactly the same way—there are just more shards involved.

단일 index에서 검색할 경우, Elasticsearch는 검색 request를 해당 index에 있는 모든 shard의 primary, replica로 전달한다. 그리고 각 shard로부터 결과를 수집한다. 다수의 indices에서 검색하는 것도, 정확히 동일한 방식으로 동작한다. 단지 더 많은 shard가 포함되었을 뿐이다.

Tip

Searching one index that has five primary shards is exactly equivalent to searching five indices that have one primary shard each.

5개의 primary shard를 가진 단일 index를 검색하는 것은, 단일 primary shard를 가진 5개의 index를 검색하는 것과 정확히 똑같다.

Later, you will see how this simple fact makes it easy to scale flexibly as your requirements change.

나중에, 이 단순한 사실이 요구 사항의 변경으로 인한 유연한 확장을 얼마나 쉽게 만들 수 있는지 알게 될 것이다.

'2.X > 1. Getting Started' 카테고리의 다른 글

1-05. Searching—The Basic Tools  (0) 2017.09.30
1-05-1. The Empty Search  (0) 2017.09.30
1-05-3. Pagination  (0) 2017.09.30
1-05-4. Search Lite  (0) 2017.09.30
1-06. Mapping and Analysis  (0) 2017.09.30