我有实体: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语句?
- SpringBoot+Redis防止恶意刷新与暴力请求接口的实现 2022-12-07
- Java利用Easyexcel导出excel表格的示例代码 2023-03-06
- Spring中自动注入的两种方式总结 2023-06-17
- 浅谈一下Java线程组ThreadGroup 2023-07-14
- MySQL中BIGINT与Java数据类型对应问题 2023-11-04
- Java服务调用RestTemplate与HttpClient的使用详解 2023-01-23
- 关于springboot中对sqlSessionFactoryBean的自定义 2023-08-07
- Java注解之Elasticsearch的案例详解 2023-06-16
- Java LinkedHashMap深入分析源码 2023-07-01
- java – 在Oracle DB中唯一标识源JDBC进程 2023-11-02