我在使用彈性搜索索引與Titan服務器正常工作時遇到問題。我目前有一個使用Titan Server 0.4.0進行彈性搜索的本地Titan/Cassandra設置。我有一個具有以下屬性的測試圖'bg':爲elasticsearch創建Titan索引類型
- 頂點有兩個屬性「type」和「value」。
- 邊緣有許多其他屬性,如「時間戳」,「長度」等名稱。
我正在與rexster-卡桑德拉 - es.xml配置titan.sh,我的配置是這樣的:
storage.backend = "cassandra"
storage.hostname = "127.0.0.1"
storage.index.search.backend = "elasticsearch"
storage.index.search.directory = "db/es"
storage.index.search.client-only= "false"
storage.index.search.local-mode = "true"
這種配置在Rexter和BG的配置相同加載數據的groovy腳本。
當我加載Rexster客戶端並輸入g = rexster.getGraph("bg")
時,我可以使用g.V.has("type","ip_address")
執行精確搜索並返回正確的頂點。然而,當我運行查詢:
g.V.has("type",CONTAINS,"ip_")
我得到的錯誤:
Data type of key is not compatible with condition
我覺得這是值得做的類型「價值」沒有被編入索引。我想要做的是使所有頂點和邊的屬性都可以索引,這樣我就可以根據需要使用它們上的任何字符串匹配函數。我已經嘗試使用命令製作索引鍵
g.makeKey("type").dataType(String.class).indexed(Vertex.class).indexed("search",Vertex.class).make()
但說實話我不知道它是如何工作的。任何人都可以幫助我指出正確的方向嗎?我完全不熟悉彈性搜索和泰坦類型定義。
感謝,
亞當