我對於Elasticsearch和多態數據似乎是一個基本問題感到困惑。我希望能夠通過一個Elasticsearch查詢找到多種類型的結果(例如用戶,視頻和播放列表)。它必須只是一個查詢,因爲Elasticsearch可以做所有的評分,我不需要做任何魔術來組合多個不同類型的查詢結果。使用Elasticsearch通過多態數據搜索
我知道Elasticsearch使用平面文檔結構,使我遇到以下問題。如果我對多態數據進行索引,那麼我將不得不爲每個獨特的屬性指定一個「缺失」值,這是我關心對多態數據的子類型進行評分的原因。
我找過其他處理這個問題的例子,找不到任何。在文檔中似乎也沒有任何內容。我忽略了一些顯而易見的東西,或者Elasticsearch只是沒有設計用來做這樣的事情?
親切的問候,
STEFFAN
在應用程序方面結合結果的問題是評分在查詢之間沒有意義,因此儘管流被排序,但不同流之間相互關聯的方式仍然需要您定義,這是我的意思是魔法。 否則,非常感謝您的回答!我並不十分關心開銷,但我確實記得閱讀過有關Lucene和稀疏數據的問題。多態數據的性質使得任何搜索引擎都很難處理,儘管我期望在某處會有更多的例子。 – steffansluis
我想說,如果評分是現在唯一的問題 - 嘗試多類型單索引查詢。如果數據中的相同字段的類型/含義相同(希望如此,如果您需要得分那麼:)),請試試看。 如果它會很慢/不適用於你,你可以嘗試使用MongoDB(true polymorhic,hehe),但只使用wiredtiger存儲引擎(基本上是v3 +)。遺憾的是,之前版本3對於任何hi-perf聚合/分析都不是這種情況。 – Slam