(Iar) Căutare cu BOSS


Ştiu că săptămâna trecută am vorbit tot despre căutare cu BOSS dar am motive să revin. În primul rând săptămâna trecută am pornit de la un exemplu oficial. Bun punct de pornire dar totuşi cu mai multe fişiere şi destul de multe linii de cod (a nu se înţelege inutile). Între timp astăzi Digital Inspiration a publicat un articol mai simpluţ dar şi cu erori. După un schimb de emailuri cu autorul unele le-a corectat, doar una a lăsat-o, intenţionat (probabil pentru
a se prinde cine copiază codul său în alte pagini fără să facă trimitere).

Bun. Deci am ales să revin asupra problemei cu un cod mult simplificat. În cele din urmă probabil tot la codul din exemplul oficial veţi ajunge, dar mai bine să porniţi de la ceva de bază până la a ajunge la ceva mai complex. Iată deci în câteva linii de cod cum putem avea un motor de căutare. Primii paşi sunt: definirea ID-ului pentru a folosi API-ul Yahoo pentru BOSS; apoi indicăm situl pe care vrem să limităm căutarea (cu string vid se face căutare generală); după care construim url-ul pentru apelarea API-ului. Detalii aici. Ceea ce urmează e o secvenţă de „sugere” a rezultatelor. Sunt două căi: CURL sau FOPEN – de regulă dacă nu merge pe serverul Dvs una, merge alta. Ceea ce ne interesează sunt însă rezultatele: vezi documentaţia. Mai rămâne să parcurgem lista şi să afişăm. Simplu de tot!!!

<?php

// De la https://developer.yahoo.com/wsregapp/ va puteti rezerva ID-ul propriu pentru Yahoo Boss
$appid = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

// Situl Dvs, pentru a restrange
$site = 'www.cnet.ro';

// Adresa de unde vom extrage rezultatele
$url = 'http://boss.yahooapis.com/ysearch/web/v1/';
$url .=  $_GET ['ce'] . '+site:'.$site.'?format=xml&lang=ro&appid='.$appid; 

// Folosim curl. Unde serverul nu permite se poate folosi file_get_contents
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$feed = simplexml_load_string (curl_exec($ch)); 

// Display search results - Title, Date and URL.
echo "<p>Rezultatele căutării pentru <strong>".$_GET['ce']."</strong></p>";
echo "<ol>";
foreach ($feed->resultset_web->result as $result) {
	$title=str_replace(" | CNET.ro","",$result->title); //caz particular la noi, eliminăm parte din titlu
	echo '<li><a href="'.$result->clickurl.'">'.$title.'</a><br />';
	echo $result->abstract.'<br />';
}
echo "</ol>";
?>

Puteţi de test vedea rezultatele căutării pentru Ubuntu, Vista, CSS… Ajunge după ce= să puneţi ce doriţi Dvs pentru alte teste.

Dar să analizăm puţin rezultatele. Sunt aproape aceleaşi rezultate pe care le-am obţine dacă am căuta de pe Yahoo! (de ce nu sunt aceleaşi? mister pentru mine). Problema mare e relevanţa rezultatelor. Ce legătură are Portofoliul lui Romain Laurent cu Ubuntu? Nici una. Da, probabil în pagina cu pricina la articole cică pe teme asemănătoare a apărut Ubuntu, dar relevanţa este oricum slabă. Nejustificată. Ar fi trebuit să aibă prioritate de exemplu potrivirile în titlu. Aceeaşi căutare repetată pe Google oferă rezultate mult-mult mai relevante. Morala? Nu degeaba Google e mai folosit la căutări decât Yahoo!

Şi totuşi, ieri TechCrunch a anunţat că îşi mută motorul de căutare pe Yahoo, implementat cu BOSS. Vedeţi un exemplu de căutare, pentru Ubuntu. Ei… cine a implementat acest motor de căutare l-a dus la nivel de artă. Sărim peste partea cu monetizarea pentru a sesiza partea cu Search Options. Uau… nu este ceea ce orice WordPress ar vrea pentru căutare? Selectezi situl (căutarea se face peste mai multe situri din reţeaua TechCrunch), cu selecţii posibile după număr de comentarii sau autori… Uau, uau, uau… Într-adevăr un motor reuşit. Mă întreb cât timp va lua până când cineva va implementa aşa ceva sub forma unui plugin pentru WordPress. Tot nu aş paria că Yaboo! BOSS va câştiga inimile tuturor. Siturile slab reprezentate în indexul Yahoo! nu vor avea motiv să se limiteze în căutare la ceea ce e indexat. Oricum, demonstraţia tehnică de la TechCrunch e admirabilă. Iar un mic cod de start aveţi… poate îl duceţi mai departe spre ceva mai util (Dvs sau şi altora).


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (Neevaluat încă)
Loading...Loading...

2 comentarii

  1. De ce cauti metode de cautare „externe” si nu cauti in bazele de date ale site-ului tau? Mi se pare ca as chema pe cineva sa-mi caute cheile pe care le-am ratacit prin casa.

  2. radu.capan spune:

    Hehe! Asta e o intrebare buna! In primul rand eu am dorit doar sa fac o scurta demonstratie si imi trebuia un punct de plecare cat de cat practic. In al doilea rand, ai perfecta dreptate: o cautare proprie poate fi mai buna. Dar pentru aceasta trebuie sa stii sa o scrii bine. E surprinzator – dupa mine – ce cautare slaba are WordPress (nu ofera posibilitatea sortarii dupa relevanta, nu permite ‘ingustarea’ cautarilor per categorii s.a.). Toate acestea ar fi motive pentru scrierea unui motor propriu de cautare. Dar la urma urmelor API-urile sunt pentru a face munca mai usoara. Iar BOSS poate fi pentru unii nu doar versiunea mai usoara pentru ei ci si singura accesibila (ca nivel de cunostinte).


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *