Найти элементы, которых нет в списке элементов индекса для Azure Поиск - PullRequest
2 голосов
/ 23 апреля 2020

Я использую Azure Поиск

У меня есть структура данных ниже

[
    {
        "id": "7c064374-73ea-4d0c-c363-2801887b07cf",
        "companies": [
                {
                    "companyId": "6f8d235e-69b7-42f9-9917-79411754fef0",
                    "companyName": "Company"
                }
         ]
    }
]

Если я хочу найти все записи, где в учетных записях существует guid, фильтр равен

$filter=companies/any(c: c/companyId eq 'value to find')

Каков синтаксис для получения только тех записей, в которых значение для поиска НЕ ​​находится в списке компаний?

$filter=companies/any(c: c/companyId ne 'value to find')

Не будет работать, поскольку вернет все записи в индексе, которые содержат компанию id, который не является идентификатором, достаточным для возврата записи, если в записи есть 2 компании: одна, которая соответствует критериям, и другая, которая не

Paul

1 Ответ

1 голос
/ 25 апреля 2020

https://docs.microsoft.com/en-us/azure/search/search-query-odata-collection-operators $filter=companies/<strong>all</strong>(c: c/companyId <strong>ne</strong> 'value to find')

...