Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marvi

[Resolvido] Dois mecanismo de busca

Recommended Posts

Olá pessoal,

 

Eu preciso desenvolver um campo de busca que tenha uma opção para que o usuário escolha ou pesquisar no site ou pesquisar pelo google, ficaria assim:

 

Campo: ______________________ [pesquisar]

() site () google

 

Aí a pessoa seleciona se é no google ou no próprio site, tem como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma pesquisada no lab. de script k existem um code, onde você pode escolher em pesquisar no google, yahoo etc, apenas selecionado o motor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele tem um nome técnico para que eu busque de maneira mais precisa no lab?

 

Eu estava tentando colocar esse codigo do google, mas ele, apesar de buscar só no site via google, não permite ficar mudando de opção do motor de busca:

 

<!-- Google Custom Search Element --> <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'); google.setOnLoadCallback(function(){ new google.search.CustomSearchControl('000019919219797814343:3-4cxrcektu').draw('cse'); }, true); </script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

basicamente, você recupera a palavra digitada para ser pesquisada, depois apenas concatena na url do motor de busaca, ex:

 

case "google"
url = "google.com/search?query=palavra_buscada"


case "yahoo"
url = "yahoo.com/search?query=palavra_buscada"

olha este exemplo, você pode adequar a seu gosto:

 


<HEAD>

<script LANGUAGE="JavaScript">

Yahoo = "http://search.yahoo.com/bin/search?p=";
Alta = "http://www.altavista.digital.com/cgi-bin/query?pg=q&what=web&q=";
Direct = "http://www.directhit.com/fcgi-bin/DirectHitWeb.fcg?alias=websrch&qry=";
Lycos = "http://www.lycos.com/cgi-bin/pursuit?query=";
Crawler = "http://www.webcrawler.com/cgi-bin/WebQuery?searchText=";
GoCom = "http://www.go.com/Titles?col=WW&svx=home_searchbox&sv=IS&lk=noframes&qt=";
DejaNews = "http://www.deja.com/products/search/search.xp?PVW=&QRY=";
Google = "http://www.google.com/search?q=";
Go2Net = "http://search.metacrawler.com/crawler?method=0&searchType=web&format=portal&cat=web&redirect=&target=&power=1&opendir_p1=&p_region=&query=&general=";
SearchCom = "http://www.search.com/search?channel=1&tag=st.se.fd..sch&submit=Search&q=";
Mamma = "http://www.mamma.com/Mamma?p1=1&timeout=4&qtype=0&query=";
DogPile = "http://search.dogpile.com/texis/search?geo=no&fs=web&av=custom&engines=goto&engines=looksmart&engines=thunderstone&engines=findwhat&engines=sprinks&engines=directhit&engines=google&engines=infoseek&engines=lycos&engines=kanoodle&engines=opendir&engines=realnames&engines=altavista&engines=yahoo&q=";
Excite = "http://www.excite.com/search.gw?searchType=Concept&search=";
DMOZ = "http://search.dmoz.org/cgi-bin/search?search=";
Snap = "http://www.nbci.com/search/directory/results/1,61,-0,00.html?tag=st.sn.fd.srch.bar&keyword=";
Galaxy = "http://www.einet.net/cgi-bin/wais-text-multi?keywords=";
var got=0;
var url = "";
var plus="";
var mag="";
function search4(item){
stringPlus();
resultsWindow=window.open();
resultsWindow.document.open();
resultsWindow.document.write("<head><title>Close this window "
+ "to return to Search Page</title></head>"
+ "<FRAMESET ROWS=50%,50%><FRAMESET COLS=50%,50%>"
+ "<FRAME NAME='frame0' SRC='" + computeFrameSrc(0) + "'>"
+ "<FRAME NAME='frame1' SRC='" + computeFrameSrc(1) + "'>"
+ "</FRAMESET><FRAMESET COLS=50%,50%><FRAME NAME='frame2' "
+ "SRC='" + computeFrameSrc(2) + "'><FRAME NAME='frame3' "
+ "SRC='" + computeFrameSrc(3) + "'></FRAMESET></FRAMESET>");
resultsWindow.document.close();
got = 0;
}
function search2(item){
stringPlus();
resultsWindow=window.open();
resultsWindow.document.open();
resultsWindow.document.write("<head><title>Close this window "
+ "to return to Total search</title></head><FRAMESET ROWS=50%,50%>"
+ "<FRAME NAME='frame0' SRC='" + computeFrameSrc(0) + "'><FRAME "
+ "NAME='frame1' SRC='" + computeFrameSrc(1) + "'></FRAMESET>");
resultsWindow.document.close();
got = 0;
}
function stringPlus() {
for (var j=0; j < window.document.choose4.text.value.length; j++) {
if (window.document.choose4.text.value.charAt(j) == " ")
mag += "+";
else mag += window.document.choose4.text.value.charAt(j);}
}
function numChecked(item) {
plus = escape(item.text.value);
var h=0;
num=0;
for (var l=0; l < item.check1.length; l++) {
if (item.check1[l].checked) {
h++;
if (h++ <= 4){
if (l == "0"){
num = 1;}
else if (l == "1") num = 2;
else if (l == "2") num = 3;
else if (l == "3") num = 4;
else if (l == "4") num = 5;
else if (l == "5") num = 6;
else if (l == "6") num = 7;
else if (l == "7") num = 8;
else if (l == "8") num = 9;
else if (l == "9") num = 10;
else if (l == "10") num = 11;
else if (l == "11") num = 12;
else if (l == "12") num = 13;
else if (l == "13") num = 14;
else if (l == "14") num = 15;
      }
   }
}
if (h == 2)
Results(num-1);
else if (h == 4)
search2(item);
else
search4(item);
}
function computeFrameSrc(num) {
var k=-1;
for (var j=got; j < document.choose4.check1.length; j++) {
if (document.choose4.check1[j].checked){
k++;

if (k++ <= num){
if (j == "0"){
url = Yahoo + plus;
got = 1;}
else if (j == "1"){
url = DMOZ + plus;
got = 2;}
else if (j == "2"){
url = Snap + plus;
got = 3;}
else if (j == "3"){
url = Alta + plus + "&mode=and";
got = 4;}
else if (j == "4"){
url = Direct + plus;
got = 5;}
else if (j == "5"){
url = Lycos + plus + "&backlink=217&maxhits=25";
got = 6;}
else if (j == "6"){
url = Excite + plus + "&category=default&mode=relevance&showqbe=1&display=html3,hb";
got = 7;}
else if (j == "7"){
url = Crawler + plus + "&maxHits=25";
got = 8;}
else if (j == "8"){
url = GoCom + plus;
got = 9;}
else if (j == "9"){
url = DejaNews + plus + "&defaultOp=AND&svcclass=dncurrent&maxhits=25";
got = 10;}
else if (j == "10"){
url = Google + plus;
got = 11;}
else if (j == "11"){
url = Go2Net + plus;
got = 12;}
else if (j == "12"){
url = SearchCom + plus;
got = 13;}
else if (j == "13"){
url = Mamma + plus;
got = 14;}
else if (j == "14"){
url = DogPile + plus;
got = 15;}
return url;
      }
   }
}
url = "javascript:void(0)";
return url;
}
function Results(place){
stringPlus();
resultsWin = window.open("","results");
if (place == "0")
url = Yahoo + plus;
else if (place == "1")
url = DMOZ + plus;
else if (place == "2")
url = Snap + plus;
else if (place == "3")
url = Alta + plus + "&mode=and";
else if (place == "4")
url = Direct + plus + "&mode=and";
else if (place == "5")
url = Lycos + plus + "&backlink=217&maxhits=25";
else if (place == "6")
url = Excite + plus + "&category=default&mode=relevance&showqbe=1&display=html3,hb";
else if (place == "7")
url = Crawler + plus + "&maxHits=25";
else if (place == "8")
url = GoCom + plus;
else if (place == "9")
url = DejaNews + plus + "&defaultOp=AND&svcclass=dncurrent&maxhits=25";
else if (place == "10")
url = Google + plus + "&hits=25&disp=Text+Only";
else if (place == "11")
url = Go2Net + plus;
else if (place == "12")
url = SearchCom + plus;
else if (place == "13")
url = Mamma + plus;
else if (place == "14")
url = DogPile + plus;
resultsWin.location = url;
}
// End  -->
</script>



<BODY>

<center><b>Search</b><p>
Este script irá executar a mesma pesquisa em <br> 
4 dos principais motores de busca ao mesmo tempo.
<form name="choose4" action="javascript:numChecked(document.choose4) //"><p>
<table><tr><td><b>Directories</b><br>
<input type="checkbox" name="check1" value="Yahoo"
onClick="choose4.check1.value='Yahoo'">Yahoo<br>
<input type="checkbox" name="check1" value="DMOZ"
onClick="choose4.check1.value='DMOZ'">DMOZ<br>
<input type="checkbox" name="check1" value="Snap"
onClick="choose4.check1.value='Snap'">Snap<br><br></td>
<td width="15"></td>
<td><b>Search Engines</b><br>
<input type="checkbox" name="check1" value="Alta"
onClick="choose4.check1.value='Alta'">Alta Vista<br>
<input type="checkbox" name="check1" value="Direct"
onClick="choose4.check1.value='Direct'">Direct Hit<br> 
<input type="checkbox" name="check1" value="Lycos"
onClick="choose4.check1.value='Lycos'">Lycos<br>
<input type="checkbox" name="check1" value="Excite"
onClick="choose4.check1.value='Excite'">Excite<br></td>
<td><br><input type="checkbox" name="check1" value="Crawler"
onClick="choose4.check1.value='Crawler'">Webcrawler<br>
<input type="checkbox" name="check1" value="Go.com"
onClick="choose4.check1.value='Go.com'">Go.com<br>
<input type="checkbox" name="check1" value="DejaNews"
onClick="choose4.check1.value='DejaNews'">DejaNews<br>
<input type="checkbox" name="check1" value="Google"
onClick="choose4.check1.value='Google'">Google<br> </td>
<td width="15"></td>
<td><b>Meta Searches</b><br>
<input type="checkbox" name="check1" value="Go2Net"
onClick="choose4.check1.value='Go2Net'">Go2Net<br>
<input type="checkbox" name="check1" value="SearchCom"
onClick="choose4.check1.value='SearchCom'">Search.Com<BR>
<input type="checkbox" name="check1" value="Mamma"
onClick="choose4.check1.value='Mamma'">Mamma<br>
<input type="checkbox" name="check1" value="DogPile"
onClick="choose4.check1.value='DogPile'">DogPile<br>
</td></tr></table><P>
<B>Digite o texto para encontrar</B>:<BR>
<input type="text" name="text" size=30>
<input type="submit" name="send" value="Search">
</form>
</center>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse exemplo que você me passou, se eu não quiser buscar por lugar nenhum, só no meu proprio site no meu proprio banco de dados, posso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, você pode colocar essa opcaun...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, eu estive vendo, ele tem a opção de google, mas o google geral e não o goole de busca interna para site, isso? Ele não permite?

 

Fale de busca interna como esse busca:

 

<!-- Google Custom Search Element --> <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'); google.setOnLoadCallback(function(){ new google.search.CustomSearchControl('000019919219797814343:3-4cxrcektu').draw('cse'); }, true); </script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ambos saun busca geral nos respectivos servers, tipo, google,Yahoo,altavista,Direct,Lycos etc, você pode usar um outro code para busca interna no seu site...

Compartilhar este post


Link para o post
Compartilhar em outros sites

exatamente esse q é de query, k passa o valor digitado na caixa de busca, você pode remover ele, e implementar um site search para seu site

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas, falo de colocar não com minha SQL e banco, mas o google de busca interna para o site, e o código é esse:

 

<!-- Google Custom Search Element --> <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'); google.setonloadCallback(function(){ new google.search.CustomSearchControl('000019919219797814343:3-4cxrcektu').draw('cse'); }, true); </script>

 

O que se aproveita aí? Esse é o comando, não tenho como colocar no busca, pois ele tem funções e tal...e não só um comando SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar a API do google, dá uma olhada neste link

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for usar apenas ela, seria só implementar no seu code, agora se kiser colocar as outras opcoes de busca, você deixa para o user selecionar e executa o respectivo code...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como?

 

Neste busca que me passou tem a opção google, yahoo e etc. Nesse google, quando a pessoa selecionar, não queria que pegasse o google geral e sim o google de busca interna de um site, entende? Como se ela usasse na opção do google um API para tal site.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entaun kando o user selecionar o google, você redireciona para o code k executa a API

Compartilhar este post


Link para o post
Compartilhar em outros sites

entaun kando o user selecionar o google, você redireciona para o code k executa a API

 

Mas, o codigo que usa o API é acoplado com o campo de busca e tudo mais, se você gerar um código desses e copiar e colar ele vem com campo de busca e tudo, ele funciona tudo junto... acredito que ele não deixe que o código se separe do campo de busca e se acople em outros campos de busca, até porque nem vemos o script só a sua chamada, não?

 

Acho que vou deixar o google geral mesmo, não vai valer a pena tentar modificar isso tudo não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora o problema é o seguinte:

 

O busca que você me deu pesquisa no google se a pessoal selecionar o google, agora se a pessoa selecionar localmente como vou fazer o busca pegar o SQL e consultar meu próprio banco?

 

Minha sql é:

 

SELECT * FROM banco WHERE titulo LIKE '%"& varbusca &"%' OR texto LIKE '%"& varbusca &"%' ORDER BY alteracao DESC

 

Mas, o script é:

 

<script LANGUAGE="Javascript">Yahoo = "http://search.yahoo.com/bin/search?p=";Alta = "http://www.altavista.digital.com/cgi-bin/query?pg=q&what=web&q=";Direct = "http://www.directhit.com/fcgi-bin/DirectHitWeb.fcg?alias=websrch&qry=";Lycos = "http://www.lycos.com/cgi-bin/pursuit?query=";Crawler = "http://www.webcrawler.com/cgi-bin/WebQuery?searchText=";GoCom = "http://www.go.com/Titles?col=WW&svx=home_searchbox&sv=IS&lk=noframes&qt=";DejaNews = "http://www.deja.com/products/search/search.xp?PVW=&QRY=";Google = "http://www.google.com.br/search?q=";Go2Net = "http://search.metacrawler.com/crawler?method=0&searchType=web&format=portal&cat=web&redirect=&target=&power=1&opendir_p1=&p_region=&query=&general=";SearchCom = "http://www.search.com/search?channel=1&tag=st.se.fd..sch&submit=Search&q=";Mamma = "http://www.mamma.com/Mamma?p1=1&timeout=4&qtype=0&query=";DogPile = "http://search.dogpile.com/texis/search?geo=no&fs=web&av=custom&engines=goto&engines=looksmart&engines=thunderstone&engines=findwhat&engines=sprinks&engines=directhit&engines=google&engines=infoseek&engines=lycos&engines=kanoodle&engines=opendir&engines=realnames&engines=altavista&engines=yahoo&q=";Excite = "http://www.excite.com/search.gw?searchType=Concept&search=";DMOZ = "http://search.dmoz.org/cgi-bin/search?search=";Snap = "http://www.nbci.com/search/directory/results/1,61,-0,00.html?tag=st.sn.fd.srch.bar&keyword=";Galaxy = "http://www.einet.net/cgi-bin/wais-text-multi?keywords=";var got=0;var url = "";var plus="";var mag="";function search4(item){stringPlus();resultsWindow=window.open();resultswindow.document.open();resultswindow.document.write("<head><title>Close this window "+ "to return to Search Page</title></head>"+ "<FRAMESET ROWS=50%,50%><FRAMESET COLS=50%,50%>"+ "<FRAME NAME='frame0' SRC='" + computeFrameSrc(0) + "'>"+ "<FRAME NAME='frame1' SRC='" + computeFrameSrc(1) + "'>"+ "</FRAMESET><FRAMESET COLS=50%,50%><FRAME NAME='frame2' "+ "SRC='" + computeFrameSrc(2) + "'><FRAME NAME='frame3' "+ "SRC='" + computeFrameSrc(3) + "'></FRAMESET></FRAMESET>");resultswindow.document.close();got = 0;}function search2(item){stringPlus();resultsWindow=window.open();resultswindow.document.open();resultswindow.document.write("<head><title>Close this window "+ "to return to Total search</title></head><FRAMESET ROWS=50%,50%>"+ "<FRAME NAME='frame0' SRC='" + computeFrameSrc(0) + "'><FRAME "+ "NAME='frame1' SRC='" + computeFrameSrc(1) + "'></FRAMESET>");resultswindow.document.close();got = 0;}function stringPlus() {for (var j=0; j < window.document.choose4.text.value.length; j++) {if (window.document.choose4.text.value.charAt(j) == " ")mag += "+";else mag += window.document.choose4.text.value.charAt(j);}}function numChecked(item) {plus = escape(item.text.value);var h=0;num=0;for (var l=0; l < item.check1.length; l++) {if (item.check1[l].checked) {h++;if (h++ <= 4){if (l == "0"){num = 1;}else if (l == "1") num = 2;else if (l == "2") num = 3;else if (l == "3") num = 4;else if (l == "4") num = 5;else if (l == "5") num = 6;else if (l == "6") num = 7;else if (l == "7") num = 8;else if (l == "8") num = 9;else if (l == "9") num = 10;else if (l == "10") num = 11;else if (l == "11") num = 12;else if (l == "12") num = 13;else if (l == "13") num = 14;else if (l == "14") num = 15;      }   }}if (h == 2)Results(num-1);else if (h == 4)search2(item);elsesearch4(item);}function computeFrameSrc(num) {var k=-1;for (var j=got; j < document.choose4.check1.length; j++) {if (document.choose4.check1[j].checked){k++;if (k++ <= num){if (j == "0"){url = Yahoo + plus;got = 1;}else if (j == "1"){url = DMOZ + plus;got = 2;}else if (j == "2"){url = Snap + plus;got = 3;}else if (j == "3"){url = Alta + plus + "&mode=and";got = 4;}else if (j == "4"){url = Direct + plus;got = 5;}else if (j == "5"){url = Lycos + plus + "&backlink=217&maxhits=25";got = 6;}else if (j == "6"){url = Excite + plus + "&category=default&mode=relevance&showqbe=1&display=html3,hb";got = 7;}else if (j == "7"){url = Crawler + plus + "&maxHits=25";got = 8;}else if (j == "8"){url = GoCom + plus;got = 9;}else if (j == "9"){url = DejaNews + plus + "&defaultOp=AND&svcclass=dncurrent&maxhits=25";got = 10;}else if (j == "10"){url = Google + plus;got = 11;}else if (j == "11"){url = Go2Net + plus;got = 12;}else if (j == "12"){url = SearchCom + plus;got = 13;}else if (j == "13"){url = Mamma + plus;got = 14;}else if (j == "14"){url = DogPile + plus;got = 15;}return url;      }   }}url = "javascript:void(0)";return url;}function Results(place){stringPlus();resultsWin = window.open("","results");if (place == "0")url = Yahoo + plus;else if (place == "1")url = DMOZ + plus;else if (place == "2")url = Snap + plus;else if (place == "3")url = Alta + plus + "&mode=and";else if (place == "4")url = Direct + plus + "&mode=and";else if (place == "5")url = Lycos + plus + "&backlink=217&maxhits=25";else if (place == "6")url = Excite + plus + "&category=default&mode=relevance&showqbe=1&display=html3,hb";else if (place == "7")url = Crawler + plus + "&maxHits=25";else if (place == "8")url = GoCom + plus;else if (place == "9")url = DejaNews + plus + "&defaultOp=AND&svcclass=dncurrent&maxhits=25";else if (place == "10")url = Google + plus + "&hits=25&disp=Text+Only";else if (place == "11")url = Go2Net + plus;else if (place == "12")url = SearchCom + plus;else if (place == "13")url = Mamma + plus;else if (place == "14")url = DogPile + plus;resultsWin.location = url;}// End  --></script>

Como iria fazer esse script deixar de consultar o google e consultar meu banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se a pessoa selecionar localmente você redireciona para outra pagina sua, pode consultar o bd ou diretorio do site

,tipos de arquivos que você quer pesquisar, extensoes por ex: "htm,html,asp,shtml,txt,doc,gif,xml,xsl,aspx"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.