GAE Search API没有规范化搜索字符串?

时间:2013-11-02 22:51:06

标签: google-app-engine python-2.7 google-search-api

当我使用Search API搜索某些内容时,我希望将查询字符串规范化(即重音字母将转换为非重音字母)。

因此,例如,如果我要搜索“azúcar”,搜索API会真正搜索“azucar”。

这是我的搜索处理程序代码:

index = search.Index(name='index', namespace='namespace')
    results = index.search(
        query=Query(
            query_string=search_query,
            options=QueryOptions(
                limit=10,
                cursor=Cursor(),
                sort_options=SortOptions(
                    match_scorer=search.RescoringMatchScorer()
                )
            )
        )
    )

Search API是否实际执行此操作?我做错了吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

搜索API不会这样做;有关类似的讨论,请参阅Partial matching GAE search APIGAE Full Text Search: can only match exact word? how to search like contains(...)?

在我的公司,我们实施了上述的标记化方法,似乎运行得相当好。解决问题的一种方法是在进行标记化时将标准化为ASCII。有关该问题的一些方法,请参阅What is the best way to remove accents in a Python unicode string?