我有实体: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数据结构之对象比较详解 2023-03-06
- SpringIOC容器Bean的作用域及生命周期实例 2022-12-02
- JSP中Servlet的Request与Response的用法与区别 2023-07-31
- SpringBoot2之PUT请求接收不了参数的解决方案 2023-02-10
- 请大家帮我找一找bug —— 一个MySQL解析程序(JAVA实现) 2023-10-31
- java.lang.StackOverflowError出现的原因及解决 2023-02-10
- 一文带你学会Spring JDBC的使用 2023-05-18
- Java RabbitMQ高级特性详细分析 2023-04-06
- Java中mybatis的三种分页方式 2023-04-12
- Java实现添加,读取和删除Excel图片的方法详解 2022-12-02
