当我使用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是否实际执行此操作?我做错了吗?
提前致谢
答案 0 :(得分:2)
搜索API不会这样做;有关类似的讨论,请参阅Partial matching GAE search API和GAE 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?。