2013-02-20 29 views
0

我想寫一個Lucene查詢檢索在我的網站的一些頁面,使我有以下幾點:一把umbraco Lucene的語法不

string.Format("nodeName: ({0})^7 bodyText: ({0})^6", _searchTerm) 

,這意味着它會搜索的內容,要麼有nodeNamebodyText包含_searchTerm可變

,我很努力的,我也希望它不包括有hideInNav標誌設置爲1所以我嘗試任何結果:

string.Format("nodeName: ({0})^7 bodyText: ({0})^6 +hideInNav: NOT(1)", _searchTerm) 

然而,這是扔了以下錯誤:

Encountered " <NOT> "NOT "" at line 1, column 140. 
Was expecting one of: 
    "(" ... 
    "*" ... 
    <QUOTED> ... 
    <TERM> ... 
    <PREFIXTERM> ... 
    <WILDTERM> ... 
    "[" ... 
    "{" ... 
    <NUMBER> ... 

至於我可以告訴查詢確實有不那麼我難倒這個被期待在那裏經過(

回答

0

嘗試此查詢:

string.Format("nodeName: ({0})^7 bodyText: ({0})^6 !hideInNav: (1)", _searchTerm) 

感嘆號也可以以沒有改變:

string.Format("nodeName: ({0})^7 bodyText: ({0})^6 NOT hideInNav: (1)", _searchTerm) 

爲Lucene的查詢語法的概述見this page(它不是最新版本,但我懷疑它改變了很多)

編輯:也許你倒車聲明hideInNave將修復它:

的String.format (「nodeName:({0})^ 7 bodyText:({0})^ 6 + hideInNav:(0)」,_searchTerm)來檢查它是否爲零或檢查它是否爲零。

您可能還想下載Luke來檢查索引的內容並查看值如何保存。

+0

嗨,我看到了那個頁面,它並沒有真正的幫助那麼多。我認爲我無法做我想要的,因爲「NOT運算符不能僅用於一個術語」 – Pete 2013-02-20 16:19:18

+0

您是否嘗試過查詢? 您在查詢中有更多條款,因此在您的情況下,一個條款NOT不適用。 – 2013-02-20 20:56:37

+0

嗨,我沒有嘗試查詢,但不幸的是它沒有返回任何結果 – Pete 2013-02-21 08:44:28