我有实体:Entity e = new Entity(Item);e.setProperty(Description, Description);我正在尝试执行关键字搜索.例如,如果我有“abc”,“eabcd”和“abc block”,当我执行搜索“abc”时,它应该返回所有三个.如果...

我有实体:
Entity e = new Entity("Item");
e.setProperty("Description", Description);
我正在尝试执行关键字搜索.
例如,如果我有“abc”,“eabcd”和“abc block”,当我执行搜索“abc”时,它应该返回所有三个.
如果我使用SQL,我会说这样的话:
Select * from Item where Description like "%"+keyword+"%"
我知道我可以做到这一点,但这只会返回“abc”.
public static Iterable<Entity> SearchItems(String Description) {
DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
Query q = new Query("Item").addFilter("Description",
FilterOperator.EQUAL, Description);
return ds.prepare(q).asIterable();
}
我该怎么办?
附:我已经看过了,但这并不是特别有用. Google App Engine and SQL LIKE
解决方法:
您需要的是full text search,而App Engine数据存储不支持该功能.您需要使用App Engine Search API来执行such queries.
但是,API不支持将全文查询应用于数据存储区,您需要在indexed documents中构建和存储数据.您可能需要考虑复制数据存储区中的数据并将其再次存储在索引文档存储中.
本文标题为:Google App Engine,Java数据存储区查询:如何使用SQL Like语句?


基础教程推荐
- Java基础之String类使用与字符串比较 2023-04-23
- 关于springboot配置文件密文解密方式 2023-04-16
- Eureka源码阅读解析Server服务端启动流程实例 2023-06-16
- Java实现学生管理系统(控制台版本) 2022-12-27
- SpringBoot Webflux创建TCP/UDP server并使用handler解析数据 2022-10-31
- java中如何截取字符串最后一位 2023-02-19
- Spring Bean的线程安全问题 2022-12-02
- Spring BOOT AOP基础应用教程 2023-02-18
- JSP建立错误页页面并自动跳转 2023-08-02
- Java 设计模式中的策略模式详情 2023-05-31