Как выполнить частичный поиск строк в облачном поиске AWS с помощью запроса GET API - PullRequest
0 голосов
/ 30 октября 2018

Я хочу найти всю строку, а также частичную строку в API поиска AWS Cloud,

У меня есть данные, доступные как в формате ниже,

[
{
  'name' : 'John',
  'specialities' : [
     'ios',
     'swift',
     'react native'
  ]
}, 
{
  'name' : 'Karl',
  'specialities' : [
     'ios developer',
  ]
}, 
{
  'name' : 'Maria',
  'specialities' : [
     'android developer',
  ]
}
]

Теперь я пытаюсь достичь, если я запускаю запрос для поиска 'ios developer', тогда он должен вернуть Карлу, Джону, Марии все три записи.

Потому что, согласно моему требованию, у Карла есть полностью совпадающая строка, которую я получаю, но у Джона есть «ios», а у Марии есть слово «разработчик», которое я хочу найти.

Согласно документации AWS, они позволяют точное совпадение слов, и поэтому я не получаю желаемого результата.

Я ссылался ниже и на соответствующие документы: https://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-text.html#searching-text-phrases

1 Ответ

0 голосов
/ 30 октября 2018

Из этих документов вы ищете |

| - включает документы, содержащие термин в результатах поиска, даже если они не содержат другие термины. | оператор относится только к индивидуальные условия. Например, чтобы включить документы, которые содержат любой из двух терминов, укажите: term1 | term2. В поисках поиск? q = звездные войны | поход включает в себя документы, которые содержат как звезды, так и войны, или термин трек.

например. ios |developer

Если вы хотите ограничить результаты только полем specialities, вы все равно можете использовать этот простой анализатор с параметрами:

например. q='ios |developer'&q.options={fields: ['specialities']}.

Обратите внимание, что вы должны url кодировать эту строку. У большинства языков есть решение для этого, или вы можете сделать это с помощью онлайн-инструмента, такого как: https://www.url -encode-decode.com /

...