假设我的网站上有一个表单,允许用户在我的数据库中搜索书名。
如何执行子串匹配?
例如,查询" caTCher"应该回归"麦田守望者"。
db.GqlQuery("SELECT title FROM Book WHERE " + titleQuery + " IN title")
上述查询不起作用(并且不应该起作用),但我认为它应该采取类似的形式。
尽管这是一个看似常见的用例,但我还没有找到任何有用的信息。
答案 0 :(得分:0)
使用regex将输入字符串转换为数据库中字符串的格式。 SearchableModel将搜索标题的部分字符串(它仅适用于捕获器,而不是catche或cat)等完整单词。它将创建titles列中所有单个单词的列表,并引用回原始条目(例如,名为titleStrList)。然后你搜索类似的东西:
*Do your regex stuff here*
db.GqlQuery("SELECT title FROM Book WHERE " + titleQuery + " IN titleStrList")