<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comentarii la: Un search mai bun</title>
	<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/</link>
	<description></description>
	<pubDate>Sun, 05 Feb 2012 08:49:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1</generator>

	<item>
		<title>By: add</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-15</link>
		<author>add</author>
		<pubDate>Fri, 09 Mar 2007 15:25:49 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-15</guid>
					<description>:) buba ar fi ca ai reinventat roata? 'match against' ce avea?</description>
		<content:encoded><![CDATA[<p> <img src='http://www.ionutparvu.ro/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> buba ar fi ca ai reinventat roata? &#8216;match against&#8217; ce avea?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Ionut</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-20</link>
		<author>Ionut</author>
		<pubDate>Fri, 09 Mar 2007 16:06:43 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-20</guid>
					<description>Serifule aberezi. Dar te voi lamuri eu. Nu conteaza ca folosesti "match against" sau "like". Ideea era sa faci cautarea sa tina cont de locatia in care gaseste nu doar de relevanta gasirii. Adica sa diferentiezi intre cheie gasita in titlu si cheie gasita in vreun detaliu al unui produs sau in numele producatorului sau in numele categoriei sau... . Aici era toata smecheria ca sa ai rezultate relevante.</description>
		<content:encoded><![CDATA[<p>Serifule aberezi. Dar te voi lamuri eu. Nu conteaza ca folosesti &#8220;match against&#8221; sau &#8220;like&#8221;. Ideea era sa faci cautarea sa tina cont de locatia in care gaseste nu doar de relevanta gasirii. Adica sa diferentiezi intre cheie gasita in titlu si cheie gasita in vreun detaliu al unui produs sau in numele producatorului sau in numele categoriei sau&#8230; . Aici era toata smecheria ca sa ai rezultate relevante.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Dragos</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-25</link>
		<author>Dragos</author>
		<pubDate>Fri, 09 Mar 2007 20:06:42 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-25</guid>
					<description>Pardon daca sunt un pic mai nestiutor, dar cum stii cand bagi date intr-o baza de date care e titlul unui articol, care e pretul si tot asa? Ce design are baza aia de date? 

Ar insemna sa faci tabele nu pe produse, ci pe caracteristici ale produselor si cauti in alea prin niste cueriuri de te doare capul.

Practic, cand bagi un produs din administrate, titlul se duce intr-o tabela, pretul in alta, descrierea in alta. Pe urma tu cand faci cautarea, cate cueriuri rulezi simultan sa faci cautare simultana in toate tabelele separate? 

S-ar putea sa ne faci varza rezultatele nu? 

S-ar putea sa ma insel totusi...si sa se poata face ce spui tu aici. 
Un demo ai?</description>
		<content:encoded><![CDATA[<p>Pardon daca sunt un pic mai nestiutor, dar cum stii cand bagi date intr-o baza de date care e titlul unui articol, care e pretul si tot asa? Ce design are baza aia de date? </p>
<p>Ar insemna sa faci tabele nu pe produse, ci pe caracteristici ale produselor si cauti in alea prin niste cueriuri de te doare capul.</p>
<p>Practic, cand bagi un produs din administrate, titlul se duce intr-o tabela, pretul in alta, descrierea in alta. Pe urma tu cand faci cautarea, cate cueriuri rulezi simultan sa faci cautare simultana in toate tabelele separate? </p>
<p>S-ar putea sa ne faci varza rezultatele nu? </p>
<p>S-ar putea sa ma insel totusi&#8230;si sa se poata face ce spui tu aici.<br />
Un demo ai?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Ionut</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-33</link>
		<author>Ionut</author>
		<pubDate>Fri, 09 Mar 2007 22:29:15 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-33</guid>
					<description>cand se lanseaza site-ul promit sa dau link - ca preview - e posibil trebuie doar ca platforma de administrare sau cms cum vrei sa-i spui sa fie destul de desteapta - ajuta daca o faci intern si nu o iei de pe net.</description>
		<content:encoded><![CDATA[<p>cand se lanseaza site-ul promit sa dau link - ca preview - e posibil trebuie doar ca platforma de administrare sau cms cum vrei sa-i spui sa fie destul de desteapta - ajuta daca o faci intern si nu o iei de pe net.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: add</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-63</link>
		<author>add</author>
		<pubDate>Sun, 11 Mar 2007 11:26:42 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-63</guid>
					<description>"Nu conteaza ca folosesti “match against” sau “like”." lol

ce are match against pe mai multe campuri atunci? daca tot aberez...  

Esti tu convins ca greutatea calculata de tine e mai buna decat cea calculata de oameni care au mai facut ceva SQL la viata lor?</description>
		<content:encoded><![CDATA[<p>&#8220;Nu conteaza ca folosesti “match against” sau “like”.&#8221; lol</p>
<p>ce are match against pe mai multe campuri atunci? daca tot aberez&#8230;  </p>
<p>Esti tu convins ca greutatea calculata de tine e mai buna decat cea calculata de oameni care au mai facut ceva SQL la viata lor?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Ionut</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-65</link>
		<author>Ionut</author>
		<pubDate>Sun, 11 Mar 2007 12:11:30 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-65</guid>
					<description>da pt ca tine cont de campul in care se gaseste cuvantul cautat - e relativ logic.</description>
		<content:encoded><![CDATA[<p>da pt ca tine cont de campul in care se gaseste cuvantul cautat - e relativ logic.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Zero</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-80</link>
		<author>Zero</author>
		<pubDate>Thu, 15 Mar 2007 09:33:43 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-80</guid>
					<description>Daca am inteles bine vrei ca rezultatul cautarii sa tina cont, pe langa "scoring"-ul textului cautat, si de campul in care acesta se afla. Cu alte cuvine vrei sa ai un indice de prioritate pentru anumite campuri. In cazul asta cred ca interogarea demonstrativa de mai jos should do the trick. Am presupus ca ai un tabel de produse cu id, denumire si descriere. Query-ul va intoarce rezultatele cautarii dupa "$search_text" in campurile denumire si descriere iar rezultatele care contin "$search_text" in denumire (am presupus ca asta e mai important) vor fi afisate primele:

mysql_query("SELECT `id`, `denumire`, `descriere`, MATCH(`denumire`) AGAINST ('".$search_text."') AS `scoring_denumire`, MATCH(`descriere`) AGAINST ('".$search_text."') AS `scoring_descriere` FROM `produse` WHERE MATCH(`denumire`, `descriere`) AGAINST ('".$search_text."' IN BOOLEAN MODE) ORDER BY `scoring_denumire`, `scoring_descriere` DESC", $connection);

Nu l-am testat insa ar trebui sa functioneze. Daca mai adaugi si operatorii specifici "boolean full-text search" vei avea un motor de cautare destul de cuprinzator.

Daca a gasit cineva alta solutie, please share :)</description>
		<content:encoded><![CDATA[<p>Daca am inteles bine vrei ca rezultatul cautarii sa tina cont, pe langa &#8220;scoring&#8221;-ul textului cautat, si de campul in care acesta se afla. Cu alte cuvine vrei sa ai un indice de prioritate pentru anumite campuri. In cazul asta cred ca interogarea demonstrativa de mai jos should do the trick. Am presupus ca ai un tabel de produse cu id, denumire si descriere. Query-ul va intoarce rezultatele cautarii dupa &#8220;$search_text&#8221; in campurile denumire si descriere iar rezultatele care contin &#8220;$search_text&#8221; in denumire (am presupus ca asta e mai important) vor fi afisate primele:</p>
<p>mysql_query(&#8221;SELECT `id`, `denumire`, `descriere`, MATCH(`denumire`) AGAINST (&#8217;&#8221;.$search_text.&#8221;&#8216;) AS `scoring_denumire`, MATCH(`descriere`) AGAINST (&#8217;&#8221;.$search_text.&#8221;&#8216;) AS `scoring_descriere` FROM `produse` WHERE MATCH(`denumire`, `descriere`) AGAINST (&#8217;&#8221;.$search_text.&#8221;&#8216; IN BOOLEAN MODE) ORDER BY `scoring_denumire`, `scoring_descriere` DESC&#8221;, $connection);</p>
<p>Nu l-am testat insa ar trebui sa functioneze. Daca mai adaugi si operatorii specifici &#8220;boolean full-text search&#8221; vei avea un motor de cautare destul de cuprinzator.</p>
<p>Daca a gasit cineva alta solutie, please share <img src='http://www.ionutparvu.ro/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Ionuţ Pârvu, mâncând web pe pâine in România &#187; Blog Archive &#187; Importanta unui CMS bun</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-86</link>
		<author>Ionuţ Pârvu, mâncând web pe pâine in România &#187; Blog Archive &#187; Importanta unui CMS bun</author>
		<pubDate>Sun, 18 Mar 2007 21:11:18 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-86</guid>
					<description>[...] sa configureze search-ul pentru a se potrivi cat mai bine produselor din site (si aici intervine un post anterior in care am explicat despre search) [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] sa configureze search-ul pentru a se potrivi cat mai bine produselor din site (si aici intervine un post anterior in care am explicat despre search) [&#8230;]</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Ionut</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-87</link>
		<author>Ionut</author>
		<pubDate>Sun, 18 Mar 2007 21:20:54 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-87</guid>
					<description>Solutia ta este buna din punct de vedere al codului. Pentru a o aplica pe platforma de administrare a noastra astfel incat sa permita clientului/noua sa modificam greutate fiecarui detaliu al itemilor din baza de date pentru a se potrivi cat mai bine fiecarui client in parte, mai trebuie putin modificat. 
Dar pentru un site care nu este construit pe o platforma de administrare, pe un site custom este chiar oka.</description>
		<content:encoded><![CDATA[<p>Solutia ta este buna din punct de vedere al codului. Pentru a o aplica pe platforma de administrare a noastra astfel incat sa permita clientului/noua sa modificam greutate fiecarui detaliu al itemilor din baza de date pentru a se potrivi cat mai bine fiecarui client in parte, mai trebuie putin modificat.<br />
Dar pentru un site care nu este construit pe o platforma de administrare, pe un site custom este chiar oka.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Worker</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-123</link>
		<author>Worker</author>
		<pubDate>Tue, 20 Mar 2007 15:27:39 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-123</guid>
					<description>Domnilor, in special Dragos, in primu rand se numeste query sql si "cueriuri"...Aci se vorbeste de un caz particular de a face o anumita chestie...O problema de genu asta nu se rezolva asa...In primu rand tre sa stabilieste de la inceput da vrei sa faci o dezvoltare a bazei de date pe orizontala sau pe verticala si apoi sa stick with it...
Apoi daca urmeze cele trei forme normale de design de baze de date asta iti va rezolva cea mai mare parte a problemelor de genu asta. 
Iar mai departe e problema search engine-ului daca vrea sa caute dupa coduri de produs si/sau dupa descrierea lor, daca vrea sa parseze descrieri, prin metode sql sau de limbaj de programare adoptat etc...
Ideea e ca nu poti sa-ti bazezi desig-ul bazei de date doar pe ca sa-ti raspunda unor cazuri particulare...Nu zic ca nu e bine sa nu le ei in consideratie, dar ele nu trebuie sa fie definitorii...si asta ca regula generala in arhiecturi de sisteme...nu doar la nivel database.</description>
		<content:encoded><![CDATA[<p>Domnilor, in special Dragos, in primu rand se numeste query sql si &#8220;cueriuri&#8221;&#8230;Aci se vorbeste de un caz particular de a face o anumita chestie&#8230;O problema de genu asta nu se rezolva asa&#8230;In primu rand tre sa stabilieste de la inceput da vrei sa faci o dezvoltare a bazei de date pe orizontala sau pe verticala si apoi sa stick with it&#8230;<br />
Apoi daca urmeze cele trei forme normale de design de baze de date asta iti va rezolva cea mai mare parte a problemelor de genu asta.<br />
Iar mai departe e problema search engine-ului daca vrea sa caute dupa coduri de produs si/sau dupa descrierea lor, daca vrea sa parseze descrieri, prin metode sql sau de limbaj de programare adoptat etc&#8230;<br />
Ideea e ca nu poti sa-ti bazezi desig-ul bazei de date doar pe ca sa-ti raspunda unor cazuri particulare&#8230;Nu zic ca nu e bine sa nu le ei in consideratie, dar ele nu trebuie sa fie definitorii&#8230;si asta ca regula generala in arhiecturi de sisteme&#8230;nu doar la nivel database.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Worker</title>
		<link>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-125</link>
		<author>Worker</author>
		<pubDate>Tue, 20 Mar 2007 15:31:52 +0000</pubDate>
		<guid>http://www.ionutparvu.ro/2007/un-search-mai-bun/#comment-125</guid>
					<description>Asta nu inseamna si nu duce la faptul ca nu mai ai felxibilitate in ati construi baza de date...dar tocmai aci intervine ideea unei baze de date bune ...sa fie corect "desenata", flexibila si sa-ti asigure din start posibilitatea de a-ti raspunde la 80% din probleme...celelalte 20% pot fi reprezentate de chestiuni neprevazute, de schimbari intervenite pe parcusrul procesului de dezvoltare...sunt multe situatii</description>
		<content:encoded><![CDATA[<p>Asta nu inseamna si nu duce la faptul ca nu mai ai felxibilitate in ati construi baza de date&#8230;dar tocmai aci intervine ideea unei baze de date bune &#8230;sa fie corect &#8220;desenata&#8221;, flexibila si sa-ti asigure din start posibilitatea de a-ti raspunde la 80% din probleme&#8230;celelalte 20% pot fi reprezentate de chestiuni neprevazute, de schimbari intervenite pe parcusrul procesului de dezvoltare&#8230;sunt multe situatii</p>
]]></content:encoded>
				</item>
</channel>
</rss>

