OpenStreetMap Nominatim er en søgetjeneste, der bruger OpenStreetMap-data til at finde geografiske steder og placeringer…
Eksakt søgning i Sphinx
Sphinx kan som udgangspunk ikke lave en eksakt søgning. Så hvis du vil efter et eller andet bestemt og som skal være hele “ordet” skal man snyde lidt.
Hvis man f.eks. vil søge efter et varenummer 123456 og ikke vil have 01234567, kan man snyde den ved at tilføje en streng forand og bagefter alle indexerede ord.
Sql sætningen kunne se sådan ud:
MySql
SELECT id, CONCAT('__START__', varenummer, '__END__') AS varenummer FROM vare
MS Sql
SELECT id, ('__START__' + varenummer + '__END__') AS varenummer FROM vare
Når man så laver sin søgning i Sphinx sætter man bare ‘__START__’ forand og ‘__END__’ efter søgeordet. På den måde vil Sphinx ikke kunne finde match ved andre end det man søger på.
Vigtigt! ‘__START__’ og ‘__END__’ skal være noget som du ikke fil finde i dine data. Hvis disse strenge findes i dine data kan du blot skifte dem ud med noget andet.
This Post Has 0 Comments