O Google CSE:Mostrar resultado contagem
-
17-09-2020 - |
Pergunta
Eu tenho implementado o Google site search / pesquisa Personalizado para o meu site e é de todos os que trabalham e os resultados são formatados de paginação e multa.Mas ele nunca retorna uma contagem de quantos resultados encontrados como ele faz quando você pesquisa no Google About 1,660,000 results (0.16 seconds)
Eu estava me perguntando se alguém tinha encontrado nada para fazer isso, eu não consigo encontrar nada lá documentação.
<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'en'});
google.setOnLoadCallback(function() {
var customSearchControl = new google.search.CustomSearchControl('GOOGLEIDGOESHERE');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.setNoResultsString("No results found.")
customSearchControl.draw('cse');
}, true);
</script>
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
Solução
Você vai precisar usar o SearchCompleteCallback e enterrado profundamente dentro ofuscado biblioteca de javascript, você vai encontrar o estimatedResultCount propriedade.Aqui está um exemplo rápido que aparece um alerta com a contagem.Você pode adaptar isso para atender às suas necessidades usando o jquery para inserir um pouco de html com a contagem em qualquer formato que você quiser.
<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'en'});
google.setOnLoadCallback(function() {
var customSearchControl = new google.search.CustomSearchControl('GOOGLEIDGOESHERE');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.setNoResultsString("No results found.")
customSearchControl.setSearchCompleteCallback(null,
function() { searchCompleteCallback(customSearchControl) });
customSearchControl.draw('cse');
}, true);
function searchCompleteCallback(customSearchControl) {
alert(customSearchControl.e[0].g.cursor.estimatedResultCount);
}
</script>