沒有索引外部數據進行過濾,我不能找到一種方法,做與ElasticSearch如下:如何在ElasticSearch
- 我已經200萬項ElasticSearch
- 索引我有30000級的玩家保存在MySQL
每個項目都有一個玩家的名字作爲屬性。 這些球員的在線狀態每15分鐘更改一次,可以是真或假(顯然)。
我想只能顯示在線玩家的物品。
我不認爲我可以將項目的在線狀態編入索引,因爲它經常變化。 我無法真正獲得在線玩家的所有ID,並將其用作過濾器,因爲有這麼多。
它有助於在ElasticSearch中對玩家進行索引嗎?是否有可能與另一個索引做某種JOIN
?
編輯:在詳細瞭解如何與ES加入後,我發現如果我在ES中爲玩家編制索引,它實際上可以用has_child。輪胎沒有has_child
的方法,但是可以用現有的DSL來完成嗎?
太棒了,謝謝。我實際上開始閱讀has_child/has_parent。我會用不同的索引來索引玩家,因爲我已經有了每種類型物品的索引。現在我需要找出如何與蒂爾做到這一點。非常感謝這個偉大的答案。 – Robin 2013-04-20 16:52:31
不幸的是,父子不支持跨不同的索引。它們在同一索引內必須是不同的類型。孩子們將被歸入與母文檔相同的分片,因爲這是實際工作的唯一方式。 – javanna 2013-04-20 17:06:16
'通過將自身限制爲父/子類型關係,elasticsearch使自己的生活變得更加簡單:小孩始終與其父母相同的分片索引,因此has_child不必執行尷尬的交叉分片操作。這很難過......我猜想我唯一的選擇是重新索引一個索引中的所有內容:( – Robin 2013-04-20 17:16:07