2015-11-19 36 views
2

我有我與檢查檢索(image link以方便查看)對象的以下數據值:__Path一把umbraco檢查 - 查詢問題

__Icon: icon-shopping-basket-alt-2 color-red __IndexType: content __NodeId: 1413 __NodeTypeAlias: sale __Path: -1,1098,1410,1413 id: 1413 nodeName: Sale test 1 (active) nodeTypeAlias: Sale path: 1098 1410 1413 saleEndDate: 20151231160336000 saleStartDate:00 updateDate: 2015-11-18T17:03:05 writerName: Admin 

路徑屬性被剝離的版本。這是因爲在啓動查詢時遇到問題,並且以逗號作爲查詢值來使用-1

我遇到與具有查詢路徑的一部分,例如相關的問題 - 即檢索包含所需ID(在特定情況下只是)的對象。

我已經執行在下面的查詢從一把umbraco檢查經理+nodeTypeAlias: sale +path:1468

的C#代碼示例如下:

var queryAllSalesInDepartment = searchCriteria 
             .Field(Constant.Examine.AttributeFields.NodeTypeAlias, Constant.DocumentTypeAlias.Sale) 
             .And().Field(Constant.Examine.AttributeFields.Path, Umbraco.AssignedContentItem.Parent.Id.ToString()) 
             .Compile(); 

查詢得0的結果,儘管有在指標可用值。

我在做錯誤的查詢或應該重新考慮格式化路徑值的不同嗎?

回答

4

呀,查詢需要「更模糊」:-s可以去(在我看來)這樣的難以閱讀方式:https://our.umbraco.org/forum/developers/extending-umbraco/11659-Examine-quering-path或原始查詢的方式是這樣的:

searchCriteria.RawQuery(@"+path:\-1*" + parentId + "*"); 

parentId在你的例子中是1410。

+0

* RawQuery *的作用就像一個魅力,謝謝!我將調查[our.umbraco鏈接](https://our.umbraco.org/forum/developers/extending-umbraco/11659-Examine-quering-path)的實施情況,並告訴您這是否有效。此外,我不得不在* Path *中取回* -1 * id,因爲*不能被'轉義' - 主要原因是字段查詢不允許*作爲第一個字符。 –

+1

我希望我能夠upvote 10倍這個答案!謝謝:)現在,我可以去睡覺了。 – Samuel