Google Custom Search 排序日期范围条件不起作用的解决方案

问题描述

在使用 Google Custom Search 进行搜索时,我们可以通过一些查询参数来限制搜索结果的日期范围。例如,我们可以使用 cr=countryCN 来指定在中国境内搜索,或者使用 sort=date:r:2019-01-01:2022-04-07 来指定搜索结果按照时间排序,并且只显示从 2019 年 1 月 1 日到今天的结果。

然而,在某些情况下,使用 sort=date... 参数来限制日期范围并没有起到作用。搜索结果可能包括所有时间段的内容,而不仅仅是指定的时间范围内的内容。这个问题已经困扰了很多开发者和用户,那么,究竟如何解决呢?

解决方案

解决这个问题的方法是设置正确的语言和地理位置参数。具体而言,我们需要将 hlgl 参数分别设置为我们所需的语言和地理位置。如果我们不设置这些参数,Google 将会根据我们的 IP 地址自动推断我们的语言和地理位置。而有时,这种自动推断并不准确,从而导致 sort=date... 没有生效。

下面是一个例子,展示了如何设置正确的语言和地理位置参数。在这个例子中,我们要搜索在中国境内发布的所有英文文章,并按照时间排序。

--------- -----
----- ----------
------
    ----- ----------------
    ------------- ------ ------ ------------
-------
------
    ---- ------ ------ ------ --- ---
    ---- -------------------------

    ---- ------ ------ ------ ------ ---
    --------
        ----------- -
            --- -- - ------------------------
            --- ---- - ---------------------------------
            --------- - ------------------
            ---------- - -----
            -------- - ----------------------------------- - ---
            --- - - -------------------------------------------
            ------------------------------- ---
        -----

        -------- --------------- -
            --- ----- - ----------------------------------------
            --- ----------- - -------------------
            ----------- -- - -----------------------------------
            ----------- -- - -------
            ----------- -- - -------
            ---------------------------------------------------------------------------------
        -
    ---------
-------
-------

上述代码中,我们将 hl 参数设置为 en(英语),将 gl 参数设置为 cn(中国)。这样,我们就可以确保搜索结果包括所有在中国网站上发布的英文文章,并按照时间排序。

指导意义

以上是关于 Google Custom Search 排序日期范围条件不起作用的解决方案。正确地设置语言和地理位置参数对于 Google Custom Search 的结果非常重要,可以确保搜索结果更加准确和有用。在实际开发中,我们需要根据具体情况设置正确的参数,避免出现类似的问题。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/29777