Как извлечь повторяемую часть запроса lucene? - PullRequest
1 голос
/ 26 февраля 2012

У меня есть 4 поля, docContent, видимость, docOwner и docType. Я хочу получить все docType: ProfileDocument , кроме тех, которые имеют видимость: 1 . Но владелец каждого документа может сказать, что его документ с видимостью : 1 можно вернуть из результата поиска. Запрос ниже выполняет поиск asd , возвращая все документы, соответствующие данному термину, и их видимость не равна 1, за исключением docOwner: 390 . Запрос работает, но docType: ProfileDocument повторяется дважды. Как реорганизовать запрос, чтобы docType: ProfileDocument был представлен только один раз?

docContent:asd
AND(
    (NOT visibility:1 AND docType:ProfileDocument)
    OR ( docOwner:390 AND visibility:1 AND docType:ProfileDocument)
)

Я попробовал это, но мне не удалось:

docContent:asd
AND(
    (((NOT visibility:1)
    OR ( docOwner:390 AND visibility:1))
    AND docType:ProfileDocument)
)

1 Ответ

1 голос
/ 27 февраля 2012

Оператор AND NOT нельзя использовать только с одним термином.Например, следующий поиск не даст результатов:

И НЕ "jakarta apache"

Ссылка: http://drupal.org/node/375446

...