2012-04-12 45 views
4

我真的不知道我的配置是怎麼回事,但我只是無法查詢索引後的任何東西(甚至不知道我是否正確地執行索引部分)。有人能告訴我以下各種方法和應該是什麼?如何用Elastic Search River索引CouchDB:簡單的英語

我有一個名爲bestdb的CouchDB數據庫。在這個數據庫裏面我有文件類型如productcustomer

現在我安裝了彈性搜索版本0.18.7和相應的couchdb河。我開始了彈性搜索和couchdb。我將elasticsearch的network.host設置爲一個IP地址:10.0.0.129。我遵循tutorial中的說明:

curl -XPUT '10.0.0.129:9200/_river/{A}/_meta' -d '{ 
    "type" : "couchdb", 
    "couchdb" : { 
     "host" : "localhost", 
     "port" : 5984, 
     "db" : "bestdb", 
     "filter": null 
    }, 
    "index" : { 
     "index" : "{B}", 
     "type" : "{C}", 
     "bulk_size" : "100", 
     "bulk_timeout" : "10ms" 
    } 
}' 

{A}:這是什麼?我的理解是,這只是一個內部彈性搜索索引的權利?它不被用於查詢或搜索的權利?所以這可能是任何名字的權利?

{B}:這是什麼索引?這和上面的有什麼不同?這個價值應該在我的場景中是什麼?

{C}:這與couchdb中的文檔類型有關,如productcustomer

在線教程只是將所有設置設置爲相同的值。如果我想查詢所有產品文檔或客戶文檔,我的curl語句將如何顯示?

謝謝你爲我清除一些東西的人。

問候, 馬克黃

回答

1

kimchy的文檔,經常會留下一點點想象力。 :-)

A是河的名字。一條河只是一個ES文件,存儲在一個名爲_river的索引中,一種名稱可以任意指定,類型爲文檔編號_meta

& ç是當地index/_typebestdb CouchDB的_changes流將得到索引到。這些可以在您的couchdb文檔中被_index_type字段覆蓋。如果以上都沒有提供,它們將默認爲您的couchdb實例名稱bestdb/bestdb

+0

謝謝你的迴應,真的很感激。你能用我提供的上下文向我解釋嗎?產品文檔類型? _index和_type字段通常會是什麼?在我的情況下,_index(或從上面的例子{B})是產品ID和_type是「產品」? – Mark 2012-04-27 07:59:45

+0

如果我不添加索引對象,我該如何查詢我的couchdb實例? – Mark 2012-04-27 08:14:40

+0

我對couchdb的工作原理有點不熟悉,但是從ES代碼來看,如果'_changes'流中的文檔具有'_index'和'_type'字段,那麼這些字段將覆蓋河流設置中的默認值。因此,您可以在設置中爲** B **和** C **設置合理的默認值,但爲您的業務邏輯分離產品/客戶文檔,看起來您必須在您的工作中完成一些工作couchdb文檔。 – drewr 2012-04-27 15:08:43

相關問題