在Cosmos DB圖中,當我將索引策略定義爲自動時,我能夠運行查詢,但是當我將索引策略更新爲手動並將索引路徑(/ label /?)和索引模式設置爲'一致'時,查詢不會獲取任何數據。問:Azure Cosmos數據庫圖表:如何將索引策略定義爲手動時在Graph API中運行查詢?
比方說,我的第一個查詢(當索引策略設置爲手動)是:
g.addV('Azure').property('name','Cerulean Software'))
結果是:
[
{
"id": "0c14a00a-edf6-46b1-9e40-45cc37f750ea",
"label": "Azure",
"type": "vertex",
"properties": {
"name": [
{
"id": "f89ee2ee-74df-4256-a5d4-2b47eb526976",
"value": "Cerulean Software"
}
]
}
}
]
現在,我的第二個查詢(當索引策略設置爲手動(見下面編輯#1)):
g.V().hasLabel('Azure')
這第二個查詢不獲取任何結果,即使有頂點出現在名爲「Azure」的圖表中。
背後有什麼可能的原因?
編輯#1:手工索引策略更改
之前"indexingPolicy": {
"automatic": false,
"excludedPaths": [],
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"dataType": "Number",
"kind": "Range",
"precision": -1
},
{
"dataType": "String",
"kind": "Hash",
"precision": 3
}
]
},
{
"path": "/label/?",
"indexes": [
{
"dataType": "String",
"kind": "Hash",
"precision": 3
},
{
"dataType": "Number",
"kind": "Range",
"precision": -1
}
]
}
],
"indexingMode": "consistent"
},
編輯#2:手動索引政策變更後
"indexingPolicy": {
"automatic": false,
"excludedPaths": [],
"includedPaths": [
{
"path": "/*",
"indexes": [
{
"dataType": "Number",
"kind": "Range",
"precision": -1
},
{
"dataType": "String",
"kind": "Hash",
"precision": 3
}
]
},
{
"path": "/_isEdge/?",
"indexes": [
{
"dataType": "String",
"kind": "Hash",
"precision": 3
},
{
"dataType": "Number",
"kind": "Range",
"precision": -1
}
]
}
],
"indexingMode": "consistent"
},
謝謝傑西。所以我嘗試將這個屬性添加到我們的索引策略中,但不幸的是這沒有任何區別。我已在編輯策略之前(編輯1)和之後(編輯2)編輯了您提出的更改的問題。如果你能回顧一下並且告訴我我做錯了什麼,我將不勝感激。 – shruti
@shruti我已經更新了我的答案以提供更多信息。請讓我知道,如果這可以幫助你 –
非常感謝,傑西。現在我可以通過在查詢中傳遞頂點ID來獲取數據。 – shruti