2014-07-13 277 views
2

我將索引ElasticSearch中的帖子。目前有兩種語言:英文和中文。因此,每篇文章都有一個(英文)或兩個翻譯以及兩種語言通用的一些數據。我的問題是我該如何索引帖子?多語言彈性搜索

  1. 創建兩個索引:posts-enposts-cn並分別存儲文章?
  2. 創建一個索引posts,並保持數據格式是這樣的:

    { 
        commonParam1: 1, 
        commonParam2: "somevalue", 
        ... 
        titleEn: "English title", 
        titleCn: "Chinese title", 
        contentEn: "Content EN", 
        contentCn: "Content CN", 
        ... 
    } 
    

回答

1

除非你有一個令人信服的理由,跨越兩個指標分爲單個文檔我強烈建議保持它都在同一個指數。

使用一個索引,您可以輕鬆地爲每個語言特定字段使用不同的分析器。將來爲新語言添加其他映射相當簡單。如果您單獨編制索引,它允許您在一次調用中爲每個文檔編制索引,而不是每個語言編制兩個索引。您可以減少重複的數據(例如公共數據)。

我也想好好看看這個帖子:http://gibrown.wordpress.com/2013/05/01/three-principles-for-multilingal-indexing-in-elasticsearch/

這是在分析和索引多種語言成Elasticsearch了很好的討論。