问题描述
在使用 Google Custom Search 进行搜索时,我们可以通过一些查询参数来限制搜索结果的日期范围。例如,我们可以使用 cr=countryCN
来指定在中国境内搜索,或者使用 sort=date:r:2019-01-01:2022-04-07
来指定搜索结果按照时间排序,并且只显示从 2019 年 1 月 1 日到今天的结果。
然而,在某些情况下,使用 sort=date...
参数来限制日期范围并没有起到作用。搜索结果可能包括所有时间段的内容,而不仅仅是指定的时间范围内的内容。这个问题已经困扰了很多开发者和用户,那么,究竟如何解决呢?
解决方案
解决这个问题的方法是设置正确的语言和地理位置参数。具体而言,我们需要将 hl
和 gl
参数分别设置为我们所需的语言和地理位置。如果我们不设置这些参数,Google 将会根据我们的 IP 地址自动推断我们的语言和地理位置。而有时,这种自动推断并不准确,从而导致 sort=date...
没有生效。
下面是一个例子,展示了如何设置正确的语言和地理位置参数。在这个例子中,我们要搜索在中国境内发布的所有英文文章,并按照时间排序。
-- -------------------- ---- ------- --------- ----- ----- ---------- ------ ----- ---------------- ------------- ------ ------ ------------ ------- ------ ---- ------ ------ ------ --- --- ---- ------------------------- ---- ------ ------ ------ ------ --- -------- ----------- - --- -- - ------------------------ --- ---- - --------------------------------- --------- - ------------------ ---------- - ----- -------- - ----------------------------------- - --- --- - - ------------------------------------------- ------------------------------- --- ----- -------- --------------- - --- ----- - ---------------------------------------- --- ----------- - ------------------- ----------- -- - ----------------------------------- ----------- -- - ------- ----------- -- - ------- --------------------------------------------------------------------------------- - --------- ------- -------
上述代码中,我们将 hl
参数设置为 en
(英语),将 gl
参数设置为 cn
(中国)。这样,我们就可以确保搜索结果包括所有在中国网站上发布的英文文章,并按照时间排序。
指导意义
以上是关于 Google Custom Search 排序日期范围条件不起作用的解决方案。正确地设置语言和地理位置参数对于 Google Custom Search 的结果非常重要,可以确保搜索结果更加准确和有用。在实际开发中,我们需要根据具体情况设置正确的参数,避免出现类似的问题。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/29777