0
文件我有索引這樣的兩個文件:Lucene的子查詢返回基於條件
VERSIONED_DOC
version=CURRENT
status=0
author=123
VERSIONED_DOC
version=ACTIVE
status=0
author=123
兩個文件都代表相同的對象在我的系統,以不同的版本。
當使用lucene進行搜索時,我總是需要獲取ACTIVE文檔,但是如果索引中不存在ACTIVE文檔,我需要獲取CURRENT。如果兩個文件都存在,則只有一個文件必須來(ACTIVE)。
這是我的查詢:
(version:ACTIVE AND status:0 AND author:123)
OR
(
(version:CURRENT AND status:0 AND author:123) AND NOT (version:ACTIVE AND
status:0 AND author:123)
)
的問題是,它總是返回兩個文件時,我有主動和現行文件。子查詢的第二部分(AND NOT ...)無法檢測到我擁有ACTIVE文檔。
AM我做錯了什麼? 謝謝!