a и not(b или c) с запросом Apple Spotlight

https://developer.apple.com/library/mac/documentation/Carbon/Conceptual/SpotlightQuery/Concepts/QueryFormat.html

Разработчики Apple предоставляют информацию о синтаксисе выражения запроса метаданных файла.

Проблема, с которой я сталкиваюсь, заключается в том, что я хочу сделать «А, а не (В или С)», но я не понимаю, как это сделать. Кажется, я могу сделать только «А и ((не В) или (не С))», а это не то, чего я хочу. Здесь есть хороший генератор таблиц истинности, демонстрирующий проблему: http://turner.faculty.swau.edu/mathematics/materialslibrary/truth/

Я думаю, что это невозможно, учитывая то, что поддерживает Spotlight, согласно документу.

РЕШЕНО

Некоторые подробности о проблеме, которую я пытаюсь решить: я хочу видеть электронную почту, пришедшую мне из-за пределов домена компании, а не сгенерированную webex (она используется для обновлений собраний и т. д.) MS Outlook 2011 (Mac) использует поиск OS X Spotlight движок для фильтрации электронной почты с помощью «необработанного запроса».

Рабочий запрос (спасибо, Renzo):

com_microsoft_outlook_recpient_email_addresses == "[email protected]" && com_microsoft_outlook_author_email_addresses != "*@example.com" && com_microsoft_outlook_author_email_addresses != "*@webex.com"

person Joe Chapman    schedule 23.07.2015    source источник


Ответы (1)


Согласно «законам Де Моргана», выражение A and not(B or C) равно A and not(B) and not(C), поэтому вы можете используйте оператор && и оператор !=, чтобы выразить свое состояние.

person Renzo    schedule 23.07.2015
comment
Ага! Я должен был остаться в школе — это помогло, и это работает отлично! Я использовал это для «Необработанного запроса» в MS Outlook 2011 (Mac), который использует поисковую систему OS X Spotlight. Проблема заключалась в следующем: я хочу видеть электронную почту, отправленную мне за пределами домена компании, а не сгенерированную Webex (она используется для обновлений собраний и т. д.). Рабочий запрос: com_microsoft_outlook_recpient_email_addresses == [email protected] && com_microsoft_outlook_author_email_addresses! example.com && com_microsoft_outlook_author_email_addresses != *@webex.com - person Joe Chapman; 24.07.2015
comment
Рад, что помог вам. - person Renzo; 24.07.2015