С помощта на Google App Engine, използвайки "Наблюдение", за да заявите заявката за данни, бих искал да използвам заявка като
objectifyService.query(Entity.class).filter("name contains", a);
който ще върне списък с всички обекти, съдържащи символа "a" в имената им. Обаче съдържащият оператор не съществува.
Има ли просто начин да направите това?
Отговори:
2 за отговор № 1Можете да изработите опростен еквивалент наfulltext търсене услуга чрез разбиване на вашето име областта на парчета, които искате да търсите и съхранявайки ги като индексирани собственост. Можете дори да използвате анализаторите на Lucene, за да токенизирате и да прекъсвате полетата си.
Това се случва много, когато работите с datastore: Ако не разполагате с оператор на заявки, който прави това, което искате, индексирайте съответните данни, така че заявката ви да е тест за равенство.
Като алтернатива използвайте услугата FTS.
0 за отговор № 2
Отговор е, че "операторът не съществува" - Google Datastore не поддържа този тип филтър. За да търсите, трябва да използвате търсачката: https://cloud.google.com/appengine/docs/java/search/