16Th5

Một vài tip để bắt đầu với Search Engine Cloud

Search là một tính năng vô cùng quan trọng đối với bất kỳ hệ thống nào. Và hôm nay, chúng tôi sẽ giới thiệu với các bạn một vài tip sử dụng Search Engine Cloud cơ bản nhưng thiết yếu được đúc rút từ chính những kinh nghiệm của bản thân mình ^^!

 

1. Tách biệt tiếng Nhật với các ngôn ngữ khác trên Amazon CloudSearch

Trong khoảng thời gian đầu năm nay, chúng tôi đã tiến hành nghiên cứu để thêm các ngôn ngữ mới vào bộ máy tìm kiếm (search engine) của mình. Chúng tôi nhận ra rằng, việc cải thiện cách sử dụng hiện tại có thể giúp cắt giảm chi phí. Vào thời điểm đó, chúng tôi chỉ sử dụng một domain duy nhất để lưu trữ tất cả các ngôn ngữ (ví dụ: JA, EN, TH, zh-TW, zh-CN, KO) nhưng lượng truy cập bằng tiếng Nhật lại lớn hơn các ngôn ngữ khác rất nhiều.

Do đó, chúng tôi đã đi đến ý tưởng là tách biệt riêng tiếng Nhật với các ngôn ngữ khác (EN, TH, zh-TW, zh-CN, KO). Cách làm này không những giúp chúng tôi có thể tiết kiệm bộ nhớ dành cho tiếng Nhật (giảm instance size hoặc phân vùng) mà còn giúp giảm luôn số lượng instance ở các ngôn ngữ khác.

Chỉ với một thao tác đơn giản như vậy, chúng tôi đã có thể giảm chi phí từ 20 đến 30%.

 

2. Ứng dụng Elastic Cloud

Có rất nhiều loại hình dịch vụ search engine và mỗi dịch vụ lại có những điểm mạnh và điểm yếu riêng. Theo kinh nghiệm của chúng tôi, dù không vận hành server nhưng chúng tôi vẫn luôn muốn giám sát và nắm bắt tình hình hiện tại. Đây là những thông tin hữu ích giúp chúng tôi trong việc điều chỉnh cấu hình nhằm đáp ứng được nhu cầu của công ty. Amazon CloudSearch không cho phép chúng tôi biết những gì đang xảy ra bên trong server. Đôi khi, Amazon CloudSearch ngừng hoạt động hoặc chạy rất chậm, nhưng chúng tôi lại không có công cụ nào để tìm ra vấn đề của nó. Ngược lại, Elastic Cloud cung cấp cho chúng tôi rất nhiều số liệu: CPU, Memory, Storage…. Vì vậy, Elastic Cloud giúp chúng tôi cảm thấy tự tin hơn khi quản lý dịch vụ search engine. Hiện nay, chúng tôi đang thử nghiệm chạy Elastic Cloud với một ngôn ngữ và thực tế cho thấy nó vận hành rất tốt. Do đó, chúng tôi sẽ còn tiếp tục áp dụng Elastic Cloud cho các ngôn ngữ khác nữa.

 

3. Mở rộng để nhập liệu vào search engine

Cả AWS CloudSearch và Elastic Cloud đều hỗ trợ nhập dữ liệu từ file (bulk import) và chúng đều tự mở rộng để đáp ứng nhu cầu nhập liệu. Do đó, nếu bạn có hàng triệu data, bạn nên chọn cách nhập qua các data file và chạy chúng song song để giảm thiểu thời gian nhập liệu. Chúng tôi đôi khi chạy lên đến 100 threads mà vẫn hoạt động tốt.

 


Hồ Viết Duẩn là 1 trong 2 kỹ sư đầu tiên gia nhập Pixta Vietnam với tư cách là Technical Leader. Anh có kinh nghiệm làm việc với Java nhiều năm, trước khi gia nhập PIXTA để tiếp tục thử thách bản thân ở môi trường mới, cũng như có cơ hội làm việc với những công nghệ và phương hướng kinh doanh lkhác nhau.

Về Team Development tại Việt Nam: Team Development là team có số thành viên lớn nhất tại Pixta Vietnam. Chúng tôi tập trung vào việc triển khai các tính năng mới và duy trì các chức năng hiện tại, đặc biệt là các chức năng tìm kiếm, thanh toán, và tương tác với khách hàng. Mục tiêu của chúng tôi là xây dựng một nền tảng ngày một tốt hơn bằng cách áp dụng các công nghệ mới và cải thiện trải nghiệm người dùng.