vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Intelligentes Suchfeld 
Autor: bauer
Datum: 18.04.12 09:07

Also, dann will ich die Sache mal beleuchten:

Wir reden doch von zwei Dingen:

a) Oberfläche
=============

Variante 1
----------


Eingabefeld welches beim Tippen Vorschläge macht , nach jedem getipptem Buchstaben kommen neue / andere Vorschläge.


Variante 2
----------

Eingabefeld wird befüllt, dann wird ein Button "jetzt Suchen" gedrückt. Sprich kein Lookup während dem Tippen.



b) Suchfunktion selber
======================

Der / die Suchbegriff(e) werden in eine Routine X reingekippt, welche mögliche Treffer aus der Datenbasis ermittelt. Die Routine wird aus der GUI Variante 1 oder 2 angesteuert.


Zur Suchfunktion selber, mal Sonderfall dass nur ein Suchbegriff vorliegt, und mal nur der erste Wurf (prinzipielles Vorgehen), ohne "schlaue Optimierung:

Wenn keine Vorabindizierung geht:

- Daten in z.B. Datatable in RAM laden (sollte bei dem geschilderten Volumnen noch gehen). Passiert als Hintergrund Thread meinetwegen alle x Zeiteinheiten um eine gewisse Aktualität zu haben.
- Vergleiche Suchbegriff mit jeder Row aus der Datenbasis und zwar jene Spalten welche in die Suche einbezogen werden sollen
- Beim Vergleich: Suchbegriff gegen Zelle aus der Datenbasi vergleichen, dabei


Vergleich selber
================

Also Suchbegriff gegen Zelle aus der Datenbasis

a) exakter Match => trivial
b) größer / kleiner / gleich => trivial
c) Wildcard => trivial
d) Tippfehler bei "sprechenden" Begriffen: Soundex, KölnerPhonetik, Double Metaphone etc.
e) Tippfehler bei "nicht sprecheden" Begriffe: Besser Levenshtein Distanz (aber bitte Matrix nicht voll durchrechnen, Abbruch wenn Limit x erreicht ist)


Trifft eine der Vergleichsbedingungen zu, so passt die Row potentiell zum Suchbegriff


Schwierigkeit generell: Die Vergleichsroutine kostet ohne eine Vorabhilfsindizierung massiv Rechnerleistung da alle Rows und alle relevanten Spalten durchforstet werden müssen.

Erste Verbesserung: Verteilung auf mehrere Threads, Verteilung auf mehrere Server
Zweite Verbesserung: Vorab Hilfsindizes aufbauen


Dann kommt man aber irgendwann an den Punkt, welchen einer meiner Vorreder schon angeschnitten hat: Die Suche ist keine kleine Funktion für die letzte Stunde vor dem Feierabend sondern eher eine massive Anwendung welche rein im Eingabefeld visualisiert wird.


Spätestens dann kommt der Aufwand / Nutzen Punkt gepaart dann mit der Frage, wie weit man ein solches Werk parametrieren kann um auch andere Tabellen / Daten zu durchsuchen und keine Insellösung für nur einen Tabelle / Datenbestand zu bauen.


Helfen Dir diese Gedanken für den Einstieg ?

Gruß,
bauer
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Intelligentes Suchfeld2.247EXXON17.04.12 15:40
Re: Intelligentes Suchfeld1.592Micke17.04.12 16:23
Re: Intelligentes Suchfeld1.467EXXON17.04.12 16:27
Re: Intelligentes Suchfeld1.564Manfred X17.04.12 17:11
Re: Intelligentes Suchfeld1.527ModeratorDaveS17.04.12 18:11
Re: Intelligentes Suchfeld1.376Manfred X17.04.12 18:26
Re: Intelligentes Suchfeld1.377ModeratorDaveS17.04.12 19:38
Re: Intelligentes Suchfeld1.350Manfred X17.04.12 20:18
Re: Intelligentes Suchfeld1.380ModeratorDaveS17.04.12 20:41
Re: Intelligentes Suchfeld1.339Manfred X17.04.12 21:24
Re: Intelligentes Suchfeld1.369ModeratorDaveS17.04.12 21:41
Re: Intelligentes Suchfeld1.470ModeratorFZelle17.04.12 23:25
Re: Intelligentes Suchfeld1.648Manfred X17.04.12 23:56
Re: Intelligentes Suchfeld1.367EXXON18.04.12 08:11
Re: Intelligentes Suchfeld1.346Manfred X18.04.12 08:20
Re: Intelligentes Suchfeld1.469EXXON18.04.12 08:27
Re: Intelligentes Suchfeld1.318Manfred X18.04.12 08:39
Re: Intelligentes Suchfeld1.378bauer18.04.12 09:19
Re: Intelligentes Suchfeld1.322Manfred X18.04.12 16:51
Re: Intelligentes Suchfeld1.290bauer18.04.12 20:58
Re: Intelligentes Suchfeld1.366Manfred X18.04.12 21:23
Re: Intelligentes Suchfeld1.374ModeratorDaveS18.04.12 09:36
Re: Intelligentes Suchfeld1.325bauer18.04.12 08:30
Re: Intelligentes Suchfeld1.374EXXON18.04.12 08:40
Re: Intelligentes Suchfeld1.388bauer18.04.12 09:07
Re: Intelligentes Suchfeld1.304bauer19.04.12 13:16
Re: Intelligentes Suchfeld1.378effeff23.04.12 16:06

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel