我目前在使Lucene返回由Sitecore中的父節點過濾的結果時遇到了一些麻煩。我正在開發一些自定義組件,它們根據指定哪個節點作爲要搜索的「根」節點來上下文顯示Lucene文檔。Lucene不會使用LocationIDs或WildcardQuery返回Sitecore結果
2種方式,我試圖解決這個如下:
- 設置
Param
對象的LocationIDs
財產,在這個網址如下所示:http://firebreaksice.com/sitecore-search-by-site-with-the-advanced-database-crawler/
不幸的是,它沒有不要做它爲我所聲稱的。它似乎完全忽略該屬性,只是返回沒有父項過濾器的結果。
使用
WildcardQuery
:queries.Add(new WildcardQuery(new Term("_sitecorefullpath", ContentFullPathRoot + "*")));
爲了實現myI've所做的是每個Sitecore的項目的全部內容路徑(如/sitecore/content/Sites/Kauffman_org/Home/test/Events
)存儲到其相應的Lucene的文檔。 我認爲(顯然不正確)是這條線,它將生成一個查詢與該路徑+末尾星號通配符,因此它會匹配任何子節點,實際上將執行通配符查詢,並讓我得到我想要的結果。
我已經在Luke中測試了一個通配符查詢並且它按預期工作。這個URL顯示我在說什麼:http://i.imgur.com/XVBfIGY.jpg
什麼給了?我無法弄清楚爲什麼我的WildcardQuery不起作用......或者爲什麼LocationIDs不起作用。我需要他們中的任何一個來完成我試圖完成的任務。任何幫助將非常感激。