当前位置:  开发笔记 > 编程语言 > 正文

Google协作平台API全文搜索不适用于非西方语言

如何解决《Google协作平台API全文搜索不适用于非西方语言》经验,为你挑选了0个好方法。

在我的JavaEE应用程序中,我使用基于Atom的Google Sites API从非公开的Google站点检索内容.从本质上讲,我们将Google网站用作轻量级CMS,并且在应用程序中我使用API​​检索网站内容以提供我的在线帮助系统.我有一段时间没有这个设置,它的工作没有任何障碍.

问题

在我的应用程序中,我需要为在线帮助系统添加全文搜索功能.我知道此功能请求会在某个时刻出现,因此在决定使用Google协作平台托管我的内容时,我检查了Sites API是否支持全文搜索.确实如此.例如,以下URL将在整个站点中搜索my-site包含该关键字的页面user.

https://sites.google.com/feeds/content/my.doma.in/my-site?q=user

这有效,并给我预期的结果页面.但它只针对用西方语言编写的内容,或者更具体地说,用空格和标点符号分隔标记/单词的语言.当我在日语内容上运行类似的搜索时,搜索关键字????:

https://sites.google.com/feeds/content/my.doma.in/my-site?q=%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC

我将只获得结果页面,其中搜索词显示为裸字符串,即由空格或标点符号分隔.由于日语是一种用脚本连续编写的语言,这还不够.包含的页面,例如:

自身ごのユーザー基本情报の确认

不会出现在结果中.因此,似乎在幕后使用的搜索索引是基于"西方"词汇规则创建的,并且日语内容未正确标记化.但是,当我从Google网站的" 搜索此网站"字段中搜索相同的关键字时,我确实得到了正确的结果.我得出结论,存在一个正确的标记化索引,但似乎不可能将它用于基于API的搜索.

到目前为止我尝试过的

为了解决这种情况,这些是我迄今为止探索过的途径:

我试过在Google协作平台中寻找语言设置.有一个通用的UI语言设置已经设置为日语,并且对API查询结果没有影响.没有每页或每模板语言设置来强制索引器/标记器的手.

我试过用双引号引用搜索字符串("????").

我试过包含通配符(*????*).

我已经使用其他语言的参数,在其他谷歌API是常见的URL尝试:lang,hl(界面语言), rl(结果语言)..

我尝试过创建一个Google 自定义搜索引擎,但似乎无法让它在非公开的Google网站上运行.

所以...

我在这里很快就没有想法了.在最糟糕的情况下,我最终将不得不自己检索,标记和索引所有内容,并使其可以通过这种方式进行搜索.由于这需要大量工作,我想知道是否有人遇到过同样的问题,并找到了可接受的解决方法或解决方案.


更新1

我还没有找到针对此问题的优雅解决方案,因此我在Google Apps API问题跟踪器上提出了一个缺陷:https://code.google.com/a/google.com/p/apps-api-issues/issues /细节?ID = 3780

更新2

在经过一些反复来回之后,谷歌的工程师们已经承认问题确实存在于所描述的范围内,并且已经"在内部提交了问题".缺陷票一直停留在被分流状态至今.如果您和我一样有兴趣看到此问题已解决,请花点时间在Google的问题跟踪器上加注星标/投票.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有