Hallo,
Hoe kun je het relevantie deel van de tekst tonen in de resultaten waar op gezocht is? Google gebruikt dat ook. Dus bijvoorbeeld een zoekterm "pharetrea" in dit stuk tekst "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis nulla augue, imperdiet id, pretium vel, pharetra eu, turpis. Nunc scelerisque orci nec odio." zou opleveren
Ik gebruik MySQL's Fulltext en PHP. Hier een voorbeeldquery:
Wie weet hier meer van, kan mij op weg helpen of doorverwijzen?
Edit: denk toch dat dit meer een PHP oplossing zal gaan opleveren. De resultaten doorzoeken op het trefwoord en vervolgens x woorden/chars ervoor en erna nemen met een regexp. Dacht/hoopte dat dit al in de query op te lossen zou zijn.
Hoe kun je het relevantie deel van de tekst tonen in de resultaten waar op gezocht is? Google gebruikt dat ook. Dus bijvoorbeeld een zoekterm "pharetrea" in dit stuk tekst "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis nulla augue, imperdiet id, pretium vel, pharetra eu, turpis. Nunc scelerisque orci nec odio." zou opleveren
code:
1
| "..pretium vel, pharetra eu, turpis..." |
Ik gebruik MySQL's Fulltext en PHP. Hier een voorbeeldquery:
SQL:
Het gaat in mijn geval logischerwijs om de kolommen intro en body.1
2
3
4
5
6
7
8
9
| SELECT id, titel, intro, body, MATCH (titel, intro, body) AGAINST ('$string') AS score FROM pagina WHERE MATCH (titel, intro, body) AGAINST ('$string' IN BOOLEAN MODE) ORDER BY score DESC |
Wie weet hier meer van, kan mij op weg helpen of doorverwijzen?
Edit: denk toch dat dit meer een PHP oplossing zal gaan opleveren. De resultaten doorzoeken op het trefwoord en vervolgens x woorden/chars ervoor en erna nemen met een regexp. Dacht/hoopte dat dit al in de query op te lossen zou zijn.
[ Voor 21% gewijzigd door X-Lars op 10-11-2005 10:55 ]