在我的JavaEE应用程序中,我使用基于Atom的Google Sites API从非公开的Google Site中检索内容。 实质上,我们使用Google Site作为轻量级的CMS,在应用程序中,我使用API来检索网站内容,为我的在线帮助系统提供内容。 我已经安装了一段时间,它的工作顺利。 问题 在我的应用程序中,我需要将全文searchfunction添加到在线帮助系统中。 我知道这个function请求会在某个时候出现,因此在决定让Google协作平台托pipe我的内容时,我检查了Sites API是否支持全文search。 它确实 。 例如,下面的URL将search整个网站my-site的页面包含关键字user 。 https://sites.google.com/feeds/content/my.doma.in/my-site?q=user 这工作,并给我预期的结果页面。 但是,这样做只适用于用西方语言编写的内容 ,或者更确切地说,是用空格和标点符号来区分标记/单词的语言。 当我对我的日语内容进行类似的search时,search关键词ユーザー : https://sites.google.com/feeds/content/my.doma.in/my-site?q=%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC 我只会search结果页面,其中search词显示为空白string,即由空格或标点符号分隔。 由于日语是一种连续写作的语言,这是不够的。 包含的页面,例如: ご自身のユーザー基本情报の确认 将不会显示在结果中。 因此,在幕后使用的search索引似乎是基于“西方”词汇规则创build的,并且日文内容没有正确标记。 但是,当我从Google网站的search此网站字段中search相同的关键字时,我确实得到了正确的结果。 我得出这样的结论: 存在一个正确的标记化索引,但似乎不可能将其用于基于API的search 。 到目前为止,我已经尝试过 为了弥补这种情况,这些是我迄今探索的途径: 我试过在Google协作平台本身寻找语言设置。 有一个通用的UI语言设置已经设置为日语,并没有影响API查询结果。 没有每页或每个模板的语言设置来强制索引器/标记器的手。 我试过用双引号引用searchstring( "ユーザー" )。 我试过包括通配符( *ユーザー* )。 我已经尝试使用其他Google API中常见的URL的其他语言参数: lang , hl (界面语言), rl (结果语言),.. 我试过创build一个Google 自定义search引擎 ,但似乎无法使它在非公开的Google网站上运行。 所以… […]