2015-12-15 2 views
1

Я пытаюсь получить результаты поиска со специальными символами, такими как @. Каждый раз, когда я пытаюсь это сделать, я не получаю никаких хитов, и когда я пытаюсь без специальных символов, все работает нормально. Вот запрос, который я делаю.Как искать специальные символы AWS Search

search?q=(or(prefix+field%3Demail+%[email protected]%27)(term+field%3Demail+%[email protected]%27))&q.parser=structured&return=user 
+0

CloudSearch или услуги ElasticSearch? Вы отметили вопрос с помощью очень общих тегов и не задали достаточно подробностей в вопросе. –

+0

CloudSearch, извините. Обновлен тег. –

ответ

0

Замените его, заменив @ на другой символ.

+0

вы также можете указать нам, какие символы действительны для использования в качестве заменителя? В моем случае мне нужно заменить @ (at) и (дефис) –

0

Похоже, что вам нужно URL Encode строку, которую вы ищете. Например, символ @ будет кодироваться как %40.

+0

все еще получает 0 хитов с изменением, даже в консоли, делая электронную почту% 40 * без показов. 'search? q = (или (префикс + поле% 3Demail +% 27email% 40email% 27) (термин + поле% 3Demail +% 27email% 40email% 27)) & q.parser = structured & return = user' –

1

Символы удаляются в процессе обработки текста, как описано в Text Processing

Согласно правилам слово излома, строки, разделенные пробелами , такие как пробелы и табуляции рассматриваются как отдельные лексемы. Во многих случаях пунктуация отбрасывается и рассматривается как пробел. Например, строки разделены на дефисы (-) и на символ (@).

Вы можете быть в состоянии решить эту проблему с другой Text Analysis scheme

Смежные вопросы