2014-04-01 70 views
0

如何使用原始關鍵字和轉換後的關鍵字進行搜索? 我已經收錄這樣的數據與彈性曲線:使用FOSElasticaBundle進行多個關鍵字搜索

id1: { 
    content: "Phòng tránh rủi ro", 
    content_canonical: "Phong tranh rui ro" 
}, 
id2: { 
    content: "Phóng nhanh vượt ẩu", 
    content_canonical: "Phong nhanh vuot au" 
}, 
id3: { 
    content: "Mô phỏng thực tế", 
    content_canonical: "Mo phong thuc te" 
} 

現在,當人們想搜索的關鍵字phòng,我想搜索的關鍵字phong(從phòng轉化),以及,但前者應該得分高於後者。

如何用FOSElasticaBundle或ElasticSearch做到這一點?

回答

1

就找到了解決辦法:

   analysis: 
        analyzer: 
         post_analyzer: 
          tokenizer: lowercase 
          filter: [ standard, my_ascii_folding ] 
        filter: 
         my_ascii_folding: 
          type: asciifolding 
          preserve_original: true 

然後post_analyzer需要應用到田間地頭contentcontent_canonical不需要,因爲asciifolding會自動完成。