Google app engine 这是GAE搜索API中的错误吗?
我正在基于GuitarParty.com上的歌曲数据库进行全文搜索。数据由多种语言的歌词组成,这本身不是问题 但是,当使用片段Úu字段返回搜索结果时,单词中的所有重音字符(如ÚÚÍí)将使用其通用的非重音版本UuEeIi返回 以下是我形成查询的方式: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
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,我删除了评论。