BigTable, который является базой данных для App Engine, будет масштабироваться до миллионов записей. Из-за этого App Engine не позволит вам выполнить какой-либо запрос, который приведет к сканированию таблицы, так как производительность будет очень плохой для хорошо заполненной таблицы.
Другими словами, каждый запрос должен использовать индекс. Вот почему вы можете выполнять только запросы =
, >
и <
. (Фактически вы также можете делать !=
, но API делает это, используя комбинацию запросов >
и <
.) Именно поэтому среда разработки отслеживает все запросы, которые вы делаете, и автоматически добавляет любые отсутствующие индексы в ваш index.yaml
файл.
Нет способа индексировать запрос LIKE
, поэтому он просто недоступен.
Наблюдайте за этой сессией Google IO для более подробного и подробного объяснения этого.