1

我試圖讓有與其他人相同的地址和人員的數量datastax圖的人員名單是3和5 之間這是查詢:在DSE圖使用索引

g.V().hasLabel('person').match(__.as('p').out('has_address').as('a').dedup().count().as('nr'),__.as('p').out('has_address').as('a')).select('nr').is(inside(3,5)).select('p','a','nr').range(0,20) 

在第一次運行我注意到這個錯誤信息:

找不到索引來回答查詢子句和graph.allow_scan是 禁用:((標籤=人))

我已啓用graph.allow_scan = true,現在它的工作

我想知道如何創建一個索引,能夠運行此查詢,而無需啓用allow_scan = true?

謝謝

回答

0

我不確定索引是您的問題的解決方案。 要做到這一點,最好的方法是將地址作爲節點來查找,並查找3到5之間的indegree節點。

您可以在地址節點的文本字段上使用索引。

1

您可以使用如下命令將其添加到架構創建一個索引:

schema.vertexLabel('person').index('address').materialized().by('has_address').add() 

上添加索引完整文檔,請點擊這裏:https://docs.datastax.com/en/latest-dse/datastax_enterprise/graph/using/createIndexes.html

不應啓用graph.allow_scan =如下所示,在CQL查詢中打開ALLOW FILTERING。這將導致大量的集羣掃描,並且不可避免地超時系統中的任何實際數據量。您不應該在任何生產環境中啓用此功能。