Suche nach 3 Werten -> ähnlichste Einträge ausgeben

sleepstah

Grünschnabel
Hi alle :)

Ich muss einen Suchassistenten für elektronische Bauteile realisieren. Hört sich einfach an, ich weiss aber nicht mehr weiter.

Das Problem liegt darin, dass ich gleichzeitig nach 3 Werten in der Datenbank suchen muss und wenn die Werte nicht exakt matchen, die ähnlichsten Einträge ausgeben muss.


Beispiel:
Der User sucht nach einer Spule mit Induktivität = 20, Strom = 200, Widerstand=0.5.

Ich müsste dann z.B. die Spule mit Ind. 15 und 25 ausgeben, weil es keine mit 20 gibt.
Wie kann ich das realisieren?
Ich weiss echt nicht mehr weiter...

Grüsse, sleeper
 
Sind die 3 Kriterien immer Zahlenwerte? Dann könnte man nach der Differenz zwischen den Werten in der Datenbank und den gesuchten Werten sortieren und die ersten paar Sätze ausgeben.

In MySQL könnte das etwa so aussehen:
Code:
SELECT
  *
FROM
  bauteile
ORDER BY
  ABS(induktivitaet - gesuchteInduktivitaet),
  ABS(strom - gesuchterStrom),
  ABS(widerstand - gesuchterWiderstand)
LIMIT 5
Mit dieser Technik ließe sich noch spielen - z.B. anstatt 3 ORDER-BY-Felder den Durchschnitt der Abweichung von den gesuchten Werten u.v.m.

Ich hoffe, das ist ungefähr die Richtung die Du suchst...
Martin
 
Zurück