如何将Google自定义搜索限制为特定网址?

时间:2012-02-10 17:56:51

标签: search google-custom-search

在网页上有很长的公司名称列表 每个名称都是指向列表页面下方的个人资料页面的链接。

所以列表页面就在这里

http://example.com/companies/

个人档案在这里

http://example.com/companies/companyOne  
http://example.com/companies/companyTwo  
http://example.com/companies/companyThree

我想在该列表页面上实施Google自定义搜索框,以便访问者可以输入查询并仅显示相关的公司名称。我在这里为搜索结果创建了一个单独的页面:

http://example.com/companies/results

所以我想基本上,我想将搜索限制在单个列表页面

http://example.com/companies/

我已经搜索过代码和文档,但我现在收到的是网站所有页面的结果。 setSearchStartingCallback永远不会被称为

(抱歉,我无法提供实时网址,这是私人测试版。)感谢任何想法

<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript"> 
    google.load('search', '1', {language : 'fr', style : google.loader.themes.MINIMALIST});
    google.setOnLoadCallback
    (  
        function() 
        {
            var customSearchControl = new google.search.CustomSearchControl('MY_GOOGLE_ID_THINGIE');            
            customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);            
            customSearchControl.setSearchStartingCallback
            (
                this,
                function(control, searcher, query) 
                {
                    alert("setSearchStartingCallback");
                    searcher.setQueryAddition("inurl:www.example.com/companies/");    
                    searcher.setRestriction(google.search.Search.RESTRICT_EXTENDED_ARGS,{"as_sitesearch": "www.example.com/companies/"});                    
                }            
            )                        
            var options = new google.search.DrawOptions();
            options.setAutoComplete(true);
            customSearchControl.setAutoCompletionId('MY_GOOGLE_ID_THINGIE+qptype:1');
            options.enableSearchboxOnly("http://www.example.com/companies/results");
            customSearchControl.draw('cse-search-form', options);
        }
        ,true
    );
</script>

1 个答案:

答案 0 :(得分:0)

使用此

customSearchOptions[google.search.Search.RESTRICT_EXTENDED_ARGS] =  {'as_sitesearch' : 'mywebsite.com/dir/*'};