如何使用googleappengine进行不区分大小写的过滤查询?

2024-10-01 15:49:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个gaedjango项目中工作,我必须实现搜索功能,我编写了一个查询,它根据搜索关键字获取数据。在

portfolio = Portfolio.all().filter('full_name >=',key).filter('full_name <',unicode(key) + u'\ufffd')

这个查询的问题是,它区分大小写。在

有没有什么方法可以让它工作,而不依赖于关键字的大小写?在

请提出建议。在

提前谢谢。在


Tags: 项目方法keyname功能unicode关键字all
2条回答

您需要在写入时存储数据的规范化版本,然后使用相同的规范化进行搜索。在

存储所有大写或小写的数据,可选地删除标点符号并将所有空白更改为一个空格,并可能将非ASCII字符转换为某种合理的ASCII表示(当然,这比听起来更复杂)

此问题的另一种解决方案(在数据集较小的情况下)是在从数据存储中调用结果后用python过滤结果:

for each_item in list_of_results:
    if each_item.name.lower().rfind(your_search_term) != -1:
        #Your results action

相关问题 更多 >

    热门问题