2012-08-02 41 views
1

我在android中使用Lucene來搜索我的內容。我有兩種類型的文檔,一個是trashed字段,即truefalse。其他類型的文檔沒有該字段。我想返回所有含有​​或沒有trashed字段的文檔。Lucene查詢沒有特定字段的文檔

我已經嘗試將-trashed:true添加到我的查詢中,該查詢返回所有正確的文檔,但它混淆了圍繞不同單詞搜索的偏移量,而不是我正在搜索的偏移量。

編輯:

我必須將其添加到我執行的每個搜索查詢。我有大約20,000個文檔的索引,我真的很想不必重建它,因爲我的用戶在我的最後一個版本中重建了索引。注意:這是在Android設備上,因此需要很長時間和大量電池重新索引他們的所有文檔。

感謝您的幫助。

+0

「它彌補搜索的偏移量包圍一個不同的單詞,而不是我正在尋找的」? – Trejkaz 2014-12-02 03:13:29

回答

0

我可以想到以下解決方案。

1)如果你可以重建索引。

將已刪除的內容:na字段值添加到「已刪除」不適用的文檔。

爲了讓所有的文檔與丟棄:虛假或「看不上」是不適用的,你可以用以下..

查詢:丟棄:虛假或丟棄:NA

2)如果您不能重建該指數,我不知道...

+0

不幸的是重建我的索引是不可能的。 – Ge3ng 2012-08-07 18:27:45

+0

@ Ge3ng Lucene提供了一種「搜索」字段的方法......如果該字段不存在,我認爲我們不能檢索文檔。 – phani 2012-08-08 22:23:36

+0

@ Ge3ng如果可以詳細說明,可能會找到解決方法.. - 索引統計信息(大小,術語),您需要多長時間才能按指定的方式查找文檔,可能會有更多信息... – phani 2012-08-08 22:25:21