3
在网页上有很长的公司名称。
每个名称都是指向位于列表页面下方的个人档案页面的链接。如何限制Google自定义搜索到特定的网址?
所以列表页面就设在这里
http://example.com/companies/
和型材在这里
http://example.com/companies/companyOne
http://example.com/companies/companyTwo
http://example.com/companies/companyThree
我想要实现列表页面上的谷歌自定义搜索框,让访问者可以进入查询并仅提供相关公司名称。我已经创建了一个搜索结果中单独的页面,在这里:
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>
通过阅读[此]找到一个解决方案(https://groups.google.com/a/googleproductforums.com/forum/#!category-topic/customsearch/执行/ PxIg1RviXok)。基本上,因为我使用'仅限搜索框'选项,setSearchStartingCallback应该放置在结果页面的代码中。有一天某人会有人! – Kerans 2012-02-10 21:02:43