我有实体: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语句?
基础教程推荐
- jsp实现简单验证码的方法 2023-08-02
- java – AWS EC2 Micro Instance上的Redis性能 2023-11-09
- 如何在jsp界面中插入图片 2023-07-30
- java – 在jooq中访问sql-array项 2023-11-06
- MySQL中BIGINT与Java数据类型对应问题 2023-11-09
- java – MongoDB – Spring – 保存对象会导致StackOverflowError 2023-11-06
- Java虚拟机内存分配与回收策略问题精细解读 2023-08-10
- java – com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法创建与数据库服务器的连接 2023-11-05
- java – mysql中UTC的日期 2023-11-05
- Java使用apache poi操作excel的方式 2022-11-25