Извините за задержку, я не был доступен!
Вы используете GAE, не так ли?
Siena Search for GAE очень ограничен, поскольку GAE предоставляет очень ограниченные функции поиска для своего хранилища данных.Таким образом, Сиена реализует все, что может, используя некоторые уловки.
В итоге:
Сиена РАЗРЕШАЕТ следующие поиски GAE (в настоящее время):
поиск по 1 полю и не более: all().search("the_string_to_search", "the_field_to_search").fetch()
поиск по полю, равному одной точной строке: all().search("myString", "the_field_to_search").fetch()
поиск по полю, равному нескольким точным строкам (например, ИЛИ): all().search("myString1 myString2", "the_field_to_search").fetch()
поиск по полю, начинающемуся со строки: all().search("myString*", "the_field_to_search").fetch()
Сиена НЕ РАЗРЕШАЕТ следующие поиски GAE:
поиск по нескольким полям: all().search("myString", "field1", "field2").fetch()
Исключение GENERATES
поиск по полю, заканчивающемуся строкой: all().search("*myString", "the_field_to_search").fetch()
GENERATES EXCEPTION