Это правильный способ структурировать ваш составной запрос. Из документации AWS вы увидите, что их пример запроса структурирован одинаково:
(and title:'star' (or actors:'Harrison Ford' actors:'William Shatner')(not actors:'Zachary Quinto'))
С Построение сложных запросов
Вы можете обойти это, перечислив более повторяющиеся поля в параметрах запроса (q.options
), а затем укажите поле для остальных полей. Список fields
является своего рода запасным вариантом, когда вы не указываете, какое поле вы ищете в составном запросе. Таким образом, если вы перечислите там поля адреса и затем укажите только поле name
в своем запросе, вы можете приблизиться к искомому поведению.
Варианты запроса
q.options={fields: ['curr_addr','other_addr']}
Запрос
(and (or name:'john smith') (or '123 someplace'))
Но этот подход будет работать только для одного набора повторяющихся полей, так что это ни в коем случае не серебряная пуля.
С Справочник по API поиска (см. q.options
=> fields
)