Как ограничить пользовательский поиск Google определенным URL? - PullRequest
3 голосов
/ 10 февраля 2012

На веб-странице очень длинный список названий компаний.
Каждое имя представляет собой ссылку на страницу профиля, расположенную под страницей списка.

Итак, страница списка находится здесь

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 никогда не называется .

(Извините, я не могу предоставить живые URL, это частная бета-версия.) Спасибо за любые идеи !

<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 голосов
/ 09 июля 2012

Используйте это

customSearchOptions[google.search.Search.RESTRICT_EXTENDED_ARGS] =  {'as_sitesearch' : 'mywebsite.com/dir/*'};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...