Google app engine 这是GAE搜索API中的错误吗?

Google app engine 这是GAE搜索API中的错误吗?,google-app-engine,gae-search,Google App Engine,Gae Search,我正在基于GuitarParty.com上的歌曲数据库进行全文搜索。数据由多种语言的歌词组成,这本身不是问题 但是,当使用片段Úu字段返回搜索结果时,单词中的所有重音字符(如ÚÚÍí)将使用其通用的非重音版本UuEeIi返回 以下是我形成查询的方式: query = search.Query( query_string=qs, options=search.QueryOptions( sort_options=search.So

我正在基于GuitarParty.com上的歌曲数据库进行全文搜索。数据由多种语言的歌词组成,这本身不是问题

但是,当使用片段Úu字段返回搜索结果时,单词中的所有重音字符(如ÚÚÍí)将使用其通用的非重音版本UuEeIi返回

以下是我形成查询的方式:

    query = search.Query( 
        query_string=qs, 
        options=search.QueryOptions(
            sort_options=search.SortOptions(
                #match_scorer=search.MatchScorer(),
                match_scorer=search.RescoringMatchScorer(),
                expressions=[
                    search.SortExpression(expression='_score + importance * 0.03', default_value=0)
                    #search.SortExpression(expression='_score', default_value=0)
                ],
                limit=1000,
            ),
            cursor=cursor, 
            returned_fields=['title','atomtitle','item', 'image'],
            snippeted_fields=['title','atomtitle', 'body','item'],
        )
    )
我很确定这不是一个编码问题,因为如果我直接提取文档字段(就像我处理标题一样),一切看起来都很正常。只有片段的表达式显示不正确

为了更好地了解我指的是什么,你可以在这里旋转一下我的测试引擎:然后搜索冰岛语。示例短语:Vísur vatnsenda Rósu

这将返回包含以下代码段的文档:

奥古斯·明奥·奥古斯·辛。奥亚·福格鲁·斯泰纳。米特·伊特·奥格伊特·米特,你是我的朋友。这是一个很好的例子,比如说,在星期五

拼写正确的代码段应为:

奥古斯·梅因·奥古斯·梅因。Óþáfögru steina。米特·伊特·奥格伊特·米特,维斯特·赫瓦格·梅纳。我的朋友们都很高兴


我最好从文档数据中生成自己的片段,还是我可以做些什么来提取单词中带有重音字符的片段?

您输入的数据将被规范化,这样您在搜索时就不必担心重音或缺少重音。

这不是编码问题(它们看起来非常不同)。这看起来是故意的,就像他们正在标准化为NFD,然后剥离重音(一旦你有了Unicode标准化库,就不太难了)。好吧,如果我理解正确,我需要生成我自己的代码片段,如果我想让它们以正确的重音字符显示的话?好吧,我们谈论的是两件完全不同的事情。我所指的代码片段是从我使用谷歌应用程序引擎上的搜索API编制索引的数据生成的代码片段,它与CSE无关。对不起,我放了一个错误的url,我删除了评论。