搜尋

首頁  >  問答  >  主體

美團外送的搜尋技術是怎麼實現的(php)

伊谢尔伦伊谢尔伦2806 天前549

全部回覆(4)我來回復

  • 習慣沉默

    習慣沉默2017-05-16 13:14:53

    php 不是有sphinx和xunsearch嗎

    回覆
    0
  • 为情所困

    为情所困2017-05-16 13:14:53

    試試elasticsearch搜尋引擎,支援分詞,全文搜索,還可以更依照相似度排序

    回覆
    0
  • 迷茫

    迷茫2017-05-16 13:14:53

    這種要不是自己有個搜尋部門自己開發,就是用現在流行的一些開源搜尋引擎,像是solr和elasticsearch

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:14:53

    我說下我的思路:漢字轉拼音後進行全文檢索.

    // PHP利用ICU扩展intl实现汉字转拼音
    echo transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', '德克士'); //de ke shi
    echo transliterator_transliterate('Any-Latin; Latin-ASCII; Lower()', '得克'); //de ke
    
    // 假设name字段内容为"德克士",则name_fts字段内容为"de ke shi".
    // MySQL全文检索字段name_fts中同时包含"得克"关键字de和ke的商店记录.
    // 所以 name_fts 中包含de和ke的店铺都能显示出来.
    SELECT name FROM store 
    WHERE MATCH(name_fts) AGAINST('+de +ke' IN BOOLEAN MODE)
    ORDER BY id DESC LIMIT 5;

    回覆
    0
  • 取消回覆