Если вы можете рассчитывать на структуру, похожую на ваш пример, вы можете использовать cts.nearQuery
.
let emailAddr = "test1@testmail.com";
cts.search(
cts.andQuery(
[
cts.collectionQuery('testcol'),
cts.nearQuery(
[
cts.jsonPropertyValueQuery('Email', EmailAddr, ['exact']),
cts.jsonPropertyValueQuery('EmailOverrideInd', 'N', ['exact'])
],
1,
'ordered'
),
]
),
['unfiltered', 'score-zero']
)
Для успешной работы без фильтрации вам нужно включить индекс "словесные позиции".
Параметр 1
для cts.nearQuery
означает, что два значения propertyQuery должны находиться в одном слове друг от друга.Обратите внимание, что я использовал «заказанный» вариант.Это может быть необязательно в этом случае, но иногда мне бывает полезно, когда я знаю порядок структуры данных.
Предостережение: я понимаю, как работает подсчет слов в XML-документах, но на самом деле в JSON не так уж много играл.Возможно, вам нужно отрегулировать счет, но я думаю, что 1 здесь правильно.