2.X/2. Search in Depth

2-5-5. Index-Time Optimizations

drscg 2017. 9. 24. 21:01

All of the solutions we’ve talked about so far are implemented at query timeThey don’t require any special mappings or indexing patterns; they simply work with the data that you’ve already indexed.

지금까지 이야기 했던 해결책 전부는 검색 시 에 구현된다. 어떤 특별한 mapping이나 색인 pattern도 요구하지 않는다. 기존의 색인 데이터로 충분히 동작한다.

The flexibility of query-time operations comes at a cost: search performance. Sometimes it may make sense to move the cost away from the query. In a real- time web application, an additional 100ms may be too much latency to tolerate.

query시 연산의 유연성은 검색 성능 같은 비용을 동반한다. 때로는, 그 비용을 query에서 감당하는 것은 바람직하지 않다. 실제의 web 응용프로그램에서, 추가적인 100ms는 참기에는 너무 긴 대기 시간이다.

By preparing your data at index time, you can make your searches more flexible and improve performance. You still pay a price: increased index size and slightly slower indexing throughput, but it is a price you pay once at index time, instead of paying it on every query.

색인 시에 데이터를 준비함으로써, 더 유연하고 성능이 더 뛰어난 검색을 만들 수 있다. 어차피 비용이 발생한다. index 크기가 증가하고, 색인 처리는 약간 느려진다. 하지만, 검색 시가 아닌 색인 시에만 발생하는 비용이다.

Your users will thank you.

사용자들은 여러분에게 감사할 것이다.

'2.X > 2. Search in Depth' 카테고리의 다른 글

2-5-3. wildcard and regexp Queries  (0) 2017.09.24
2-5-4. Query-Time Search-as-You-Type  (0) 2017.09.24
2-5-6. Ngrams for Partial Matching  (0) 2017.09.24
2-5-7. Index-Time Search-as-You-Type  (0) 2017.09.24
2-5-8. Ngrams for Compound Words  (0) 2017.09.24