考虑一下Google搜索API中的搜索查询是否是"我爱你"。 在此查询中,"我"和"你"是停用词,它们几乎出现在每个文件中。此搜索中出现的关键字是" Love"哪个应该搜索。因此,必须有一个过程来检测停用词并从我们提供给API的文档列表中删除它们。谷歌是否会在搜索API中自动执行此操作,还是必须在触发查询之前处理搜索查询?如果谷歌已经使用IDF(反向文档频率)表来消除(或更少 - 优先)停用词,他们是如何做到的?如果没有,我们如何消除这些停止词?算法(如果有的话)也适用于其他(本地)语言吗?
链接到Google搜索API here
答案 0 :(得分:0)
谷歌全文搜索API不会消除停用词。
如果您使用搜索查询“我爱你”执行全局搜索,您将只获得包含所有3个单词的文档而不仅仅是停用单词
单词之间的空格,引用的字符串,数字和日期是 作为隐式AND运算符处理。
如果您想在字段中搜索时需要相同的功能,这是一种寻找方法:
如果将查询括在括号中,则搜索将仅返回包含查询中所有单词的文档。
对于“我爱你”的情况,搜索查询应为:
field_name = "(I Love You)"
或
field_name = "(I AND Love AND You)"
这样您只会获得包含所有单词的文档,而不仅仅是停用单词。
答案 1 :(得分:0)
您只需在索引中搜索“Love”一词即可。 如果要在文本中的任何位置搜索单词,可以使用通配符运算符*
field_name = "Love*"