Zoek in een MySQLdb met php

stemmen
2

Hoe maak je een grote zoektocht binnen een MySQLdb implementeren - binnen een tafel als ik zoeken met '... zoals% bla% ....' niet alle entrys gevonden zou worden - als bla binnen een woord bijvoorbeeld. een zoekopdracht met soundex zou geweldig zijn - maar als ik lees de handleiding moet ik een Soundex-index om te zoeken naar soundex-waarden te creëren?

Dus de vraag wat de best practice om een ​​goede db-search vor een zoekwoord in een eenvoudige kolom title of someting anders schrijven.

doei

De vraag is gesteld op 09/12/2008 om 16:59
bron van user
In andere talen...                            


2 antwoorden

stemmen
2

Als je niet tot het installeren en gebruiken Sphinx, dan kunt u proberen met behulp van enkele van MySQL gebouwd in full text zoeken functies, zoals "MATCH"

Dit laat je full text zoeken en zelfs behoort resultaten met een relevantie score. U kunt query's schrijven als:

SELECT id, col1, col2, MATCH(col1, col2) AGAINST('some text' IN NATURAL LANGUAGE MODE) AS relevance FROM table1;

U kunt zelfs gebruik maken van de uitbreiding van zoekopdrachten op te pikken andere nauw verwante termen. Bijvoorbeeld, als de gebruiker zoekt naar "databank" en de top van meest relevante resultaten "mysql" bevatten, dan is de mysql zal ook zoeken naar "mysql", omdat het heeft vastgesteld dat de "mysql" term nauw verwant is aan de "databank" term de gebruiker gezocht.

http://dev.mysql.com/doc/refman/5.1/en/fulltext-query-expansion.html

antwoordde op 09/11/2009 om 02:09
bron van user

stemmen
2

Voor zoeken tekst heb je twee opties naast het gebruik van een clausule LIKE - FULLTEXT index (wat betekent dat met behulp van MyISAM) of met behulp van specifieke indexering engines zoals Lucene of Sphinx .

Persoonlijk zou ik adviseren het gebruik van Sphinx, het heeft een uitstekende integratie met zowel MySQL en PHP en is zeer snel voor zoeken tekst (en andere vragen ook).

antwoordde op 09/12/2008 om 17:04
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more