SlideShare a Scribd company logo
1 of 15
Tìm kiếm chính xác hơn cho website
Nguyễn Sơn Tùng

nstung@gmail.com

Tiki Corp
Đặt vấn đề

 Các giải pháp search phổ biến:
      MySQL Like/Fulltext
      Lucene based (Lucene, Sphinx, Solr)

 Chưa support hoàn toàn tiếng Việt

 Developer khắc phục bằng workaround



⇒ Tuning để tìm kiếm tốt hơn
Overview về MySQL search

 Like => Backend

 Fulltext => dùng được, nhưng chưa tốt

 Peformance => kém
Vấn đề tiếng Việt trong MySQL

 Roadmap:
     2004 Rased lên bởi 1 bug report #4745
     2007 Có giải pháp custom charset
     2012 Được hứa đưa vào trong MySQL 5.6 nhưng r5.6.9 vẫn chưa có


  ⇒ Do it yourself
Workaround

 Loại bỏ dấu (removeAccents)
     Indexer: Thêm secondary column, set weigh
     Search: removeAccents(keyword)


 Mở rộng keyword
     Search với nhiều keyword theo từ điển
     Performance issue => Bad practice
Search tuning

 Độ chính xác
     Bắt SE hiểu bộ mã tiếng Việt
     Kỹ thuật khác hỗ trợ:
       Search suggestion
         Data-click mining

 Performance:
     Dùng external openSE có performance tốt
Hiểu đúng bộ ký tự tiếng Việt

    Vietnamese collation




Nguồn: http://vietunicode.sourceforge.net/charset/v3.htm
Một chút về Full-text search

 Rank (Weight) = f(frequency, sequence)
      Frequency: tần suất xuất hiện từ khoá
      Sequence: thứ tự xuất hiện (longest common string)

      Ví dụ Sphinx:
         SPH_RANK_MATCHANY = sum((word_count+(lcs-
         1)*max_lcs)*user_weight)
Vấn đề search “đúng” tiếng Việt

 Quy ước chuyển đổi dấu mang tính tương đối
      User gõ không dấu => kết quả có dấu + không dấu
      User gõ có dấu => kết quả có dấu mang ý nghĩ khác
        Ví dụ:
             Gõ “trang” => “trang”, “trăng”, “trâng”
             Gõ “trăng” => “trâng” !!sai nghĩa!!

⇒ Giải pháp
   ⇒ chấp nhận chuyển đổi dấu: lấy frequency tối đa
   ⇒ correct bằng sequence của SE
Custom charset

 Greedy search (sequence) bằng custom charset theo quy t ắc d ấu
  tiếng Việt


   a=à=ả=á=ã=ạ=â=ầ=ẩ=ấ=ẫ= ậ=ă= ằ= ẳ= ắ= ẵ= ặ


 Ưu điểm
   No pre-processing
   No secondary column
   Better performance
Custom charset cho MySQL

 charset/Index.xml

 Loose charset
      utf8_vietnamese_loose_ci

 Tight charset
      utf8_vietnamse_tight_ci
Custom charset cho Sphinx
 Sphinx.conf


     charset_type = utf-8
     charset_table = 0..9, a..z, _, A..Z->a..z, U+00C0->a, U+00C1-
     >a, U+00C2->a, U+00C3->a, U+00C4->a, U+00C5->a, …
Demo
Kỹ thuật hỗ trợ

 Search suggestion
      Sử dụng popularity
      Quick response time (~50ms)
Case-study

 Tuning search on Tiki.vn

 Dao động sau 2 tháng:
      Visit with search: +33%
      Total unique searches: +37%



(base visits +20%)

More Related Content

More from AiTi Education

[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...
[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...
[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...AiTi Education
 
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...AiTi Education
 
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...AiTi Education
 
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...AiTi Education
 
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...AiTi Education
 
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...AiTi Education
 
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...AiTi Education
 
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...AiTi Education
 
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Ng...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - 	 Ng...[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - 	 Ng...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Ng...AiTi Education
 
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...AiTi Education
 
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014 - Nguyễn Thàn...
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014  - Nguyễn Thàn...[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014  - Nguyễn Thàn...
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014 - Nguyễn Thàn...AiTi Education
 
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....AiTi Education
 
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....AiTi Education
 
[Vietnam Mobile Day 2014] Gamification and Mobile Learning - Nguyễn Hữu Ân -...
[Vietnam Mobile Day 2014]  Gamification and Mobile Learning - Nguyễn Hữu Ân -...[Vietnam Mobile Day 2014]  Gamification and Mobile Learning - Nguyễn Hữu Ân -...
[Vietnam Mobile Day 2014] Gamification and Mobile Learning - Nguyễn Hữu Ân -...AiTi Education
 
[Vietnam Mobile Day 2014] Cơ hội & thách thức cho Game Studio Việt trước tảng...
[Vietnam Mobile Day 2014] Cơ hội & thách thức cho Game Studio Việt trước tảng...[Vietnam Mobile Day 2014] Cơ hội & thách thức cho Game Studio Việt trước tảng...
[Vietnam Mobile Day 2014] Cơ hội & thách thức cho Game Studio Việt trước tảng...AiTi Education
 
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh – Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh – Cou...[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh – Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh – Cou...AiTi Education
 
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...AiTi Education
 
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...AiTi Education
 
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Nguy...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Nguy...[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Nguy...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Nguy...AiTi Education
 
[Vietnam Mobile Day 2014] Tổng quan thị trường nội dung số cho smartphon...
[Vietnam Mobile Day 2014] Tổng quan thị trường nội dung số cho smartphon...[Vietnam Mobile Day 2014] Tổng quan thị trường nội dung số cho smartphon...
[Vietnam Mobile Day 2014] Tổng quan thị trường nội dung số cho smartphon...AiTi Education
 

More from AiTi Education (20)

[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...
[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...
[Vietnam Mobile Day 2014] Tăng doanh thu quảng cáo cho mobile site và ứng dụn...
 
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
 
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...
[Vietnam Mobile Day 2014] Mobile kết nối thế giới số và thế giới thực và vai ...
 
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...
[Vietnam Mobile Day 2014] The new mobile marketing channel: Social Wifi Marke...
 
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...
[Vietnam Mobile Day 2014] Cá nhân hóa và xác định Khách hàng mục tiêu trong q...
 
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...
[Vietnam Mobile Day 2014] Chiến lược thu hút người dùng cho ứng dụng tại thị ...
 
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...
[Vietnam Mobile Day 2014] Thanh toán mobile, hiện tại và xu hướng- Nguyễn Chi...
 
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
 
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Ng...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - 	 Ng...[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - 	 Ng...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Ng...
 
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh - Cou...
 
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014 - Nguyễn Thàn...
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014  - Nguyễn Thàn...[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014  - Nguyễn Thàn...
[Vietnam Mobile Day 2014] Xu hướng trong Mobile Learning, 2014 - Nguyễn Thàn...
 
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
 
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
[Vietnam Mobile Day 2014] Toàn cảnh thị trường game smartphone Việt Nam 2013....
 
[Vietnam Mobile Day 2014] Gamification and Mobile Learning - Nguyễn Hữu Ân -...
[Vietnam Mobile Day 2014]  Gamification and Mobile Learning - Nguyễn Hữu Ân -...[Vietnam Mobile Day 2014]  Gamification and Mobile Learning - Nguyễn Hữu Ân -...
[Vietnam Mobile Day 2014] Gamification and Mobile Learning - Nguyễn Hữu Ân -...
 
[Vietnam Mobile Day 2014] Cơ hội & thách thức cho Game Studio Việt trước tảng...
[Vietnam Mobile Day 2014] Cơ hội & thách thức cho Game Studio Việt trước tảng...[Vietnam Mobile Day 2014] Cơ hội & thách thức cho Game Studio Việt trước tảng...
[Vietnam Mobile Day 2014] Cơ hội & thách thức cho Game Studio Việt trước tảng...
 
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh – Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh – Cou...[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh – Cou...
[Vietnam Mobile Day 2014] Touch the future of the web - Nguyễn Việt Anh – Cou...
 
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
[Vietnam Mobile Day 2014] Mobile money - Xu hướng thanh toán nhỏ trên mobile ...
 
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
[Vietnam Mobile Day 2014] Thanh toán bằng thẻ ngân hàng trên mobile chưa bao ...
 
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Nguy...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Nguy...[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Nguy...
[Vietnam Mobile Day 2014] How to build a mobile store app in 5 minutes - Nguy...
 
[Vietnam Mobile Day 2014] Tổng quan thị trường nội dung số cho smartphon...
[Vietnam Mobile Day 2014] Tổng quan thị trường nội dung số cho smartphon...[Vietnam Mobile Day 2014] Tổng quan thị trường nội dung số cho smartphon...
[Vietnam Mobile Day 2014] Tổng quan thị trường nội dung số cho smartphon...
 

Speaker nguyen son tung search tuning

  • 1. Tìm kiếm chính xác hơn cho website Nguyễn Sơn Tùng nstung@gmail.com Tiki Corp
  • 2. Đặt vấn đề  Các giải pháp search phổ biến:  MySQL Like/Fulltext  Lucene based (Lucene, Sphinx, Solr)  Chưa support hoàn toàn tiếng Việt  Developer khắc phục bằng workaround ⇒ Tuning để tìm kiếm tốt hơn
  • 3. Overview về MySQL search  Like => Backend  Fulltext => dùng được, nhưng chưa tốt  Peformance => kém
  • 4. Vấn đề tiếng Việt trong MySQL  Roadmap:  2004 Rased lên bởi 1 bug report #4745  2007 Có giải pháp custom charset  2012 Được hứa đưa vào trong MySQL 5.6 nhưng r5.6.9 vẫn chưa có ⇒ Do it yourself
  • 5. Workaround  Loại bỏ dấu (removeAccents)  Indexer: Thêm secondary column, set weigh  Search: removeAccents(keyword)  Mở rộng keyword  Search với nhiều keyword theo từ điển  Performance issue => Bad practice
  • 6. Search tuning  Độ chính xác  Bắt SE hiểu bộ mã tiếng Việt  Kỹ thuật khác hỗ trợ:  Search suggestion  Data-click mining  Performance:  Dùng external openSE có performance tốt
  • 7. Hiểu đúng bộ ký tự tiếng Việt  Vietnamese collation Nguồn: http://vietunicode.sourceforge.net/charset/v3.htm
  • 8. Một chút về Full-text search  Rank (Weight) = f(frequency, sequence)  Frequency: tần suất xuất hiện từ khoá  Sequence: thứ tự xuất hiện (longest common string)  Ví dụ Sphinx: SPH_RANK_MATCHANY = sum((word_count+(lcs- 1)*max_lcs)*user_weight)
  • 9. Vấn đề search “đúng” tiếng Việt  Quy ước chuyển đổi dấu mang tính tương đối  User gõ không dấu => kết quả có dấu + không dấu  User gõ có dấu => kết quả có dấu mang ý nghĩ khác  Ví dụ:  Gõ “trang” => “trang”, “trăng”, “trâng”  Gõ “trăng” => “trâng” !!sai nghĩa!! ⇒ Giải pháp ⇒ chấp nhận chuyển đổi dấu: lấy frequency tối đa ⇒ correct bằng sequence của SE
  • 10. Custom charset  Greedy search (sequence) bằng custom charset theo quy t ắc d ấu tiếng Việt a=à=ả=á=ã=ạ=â=ầ=ẩ=ấ=ẫ= ậ=ă= ằ= ẳ= ắ= ẵ= ặ  Ưu điểm No pre-processing No secondary column Better performance
  • 11. Custom charset cho MySQL  charset/Index.xml  Loose charset  utf8_vietnamese_loose_ci  Tight charset  utf8_vietnamse_tight_ci
  • 12. Custom charset cho Sphinx  Sphinx.conf charset_type = utf-8 charset_table = 0..9, a..z, _, A..Z->a..z, U+00C0->a, U+00C1- >a, U+00C2->a, U+00C3->a, U+00C4->a, U+00C5->a, …
  • 13. Demo
  • 14. Kỹ thuật hỗ trợ  Search suggestion  Sử dụng popularity  Quick response time (~50ms)
  • 15. Case-study  Tuning search on Tiki.vn  Dao động sau 2 tháng:  Visit with search: +33%  Total unique searches: +37% (base visits +20%)