как получить список объектов, в котором каждый объект содержит поле с подстрокой «ho» - PullRequest
0 голосов
/ 20 марта 2012

У меня есть объект Person с полями firstName, lastName и т. Д. После нахождения списка доступных людей.Мне нужно найти людей, чье firstName содержит подстроку "ho".Как я могу это сделать?

Я бы использовал LIKE с подстановочными знаками, но мое приложение размещено на движке приложений Google, поэтому я не могу использовать LIKE в запросе SQL.Пробовал раньше не получалось.Любые предложения, как я могу сделать это, не обходя каждый объект в списке?

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Вам действительно нужно думать о хранилище данных иначе, чем о реляционной базе данных.По сути это означает, что вы должны быть умны в том, как хранить свои данные, чтобы получить к ним доступ.Без полнотекстового поиска вы можете использовать стратегию для имитации полнотекстового поиска, создав список ключевых слов с возможностью поиска и сохранив их в дочернем объекте в группе объектов.Затем вы можете сконструировать свой запрос так, чтобы он возвращал ключи родительского объекта, соответствующие вашей «строке запроса».Это позволяет вам выполнять индексацию без дополнительных затрат на полнотекстовый поиск.

Вот прекрасный пример использования Objectify, но вы можете использовать что угодно для достижения той же цели (JPA, JDO, API низкого уровня).

http://novyden.blogspot.com/2011/02/efficient-keyword-search-with-relation.html

0 голосов
/ 20 марта 2012

По крайней мере, нельзя, если вы используете хранилище данных на основе BigTable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...