2009-07-07 20 views
4

我讀了Lucene有一個內部查詢語言,其中一個指定了:並且您使用布爾運算符來組合這些語言。 我閱讀所有關於它在其網站上和它LUKE工作得很好,我可以做的事情一樣如何使用本機Lucene查詢語法?

field1:value1 AND field2:value2 

,它將返回看似正確的結果。

我的問題是如何將Lucene查詢傳遞給API?我見過QueryParser,但我必須指定一個字段。這是否意味着我仍然需要手動解析我的輸入字符串,字段,值,括號等,還是有辦法讓整個事情進來,讓lucene做它的事情?

我正在使用Lucene.NET,但由於它是orignal java的方法端口的方法,任何建議表示讚賞。

回答

2

你問你是否需要強迫你的用戶進入該領域?如果是這樣,查詢解析器有一個默認字段。這裏有一點more info。只要你有一個默認字段可以完成這項工作,他們就不需要指定字段。

如果您要求如何從String獲取Query對象,則需要使用parse方法。它理解前面提到的字段和默認字段等。您只需確保查詢解析器和索引構建器都使用相同的分析。

+0

噢,所以你指定的字段只是一個默認的字段,如果沒有指定? – Matt 2009-07-07 18:50:59