vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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.248EXXON17.04.12 15:40
Re: Intelligentes Suchfeld1.593Micke17.04.12 16:23
Re: Intelligentes Suchfeld1.468EXXON17.04.12 16:27
Re: Intelligentes Suchfeld1.566Manfred X17.04.12 17:11
Re: Intelligentes Suchfeld1.527ModeratorDaveS17.04.12 18:11
Re: Intelligentes Suchfeld1.378Manfred X17.04.12 18:26
Re: Intelligentes Suchfeld1.378ModeratorDaveS17.04.12 19:38
Re: Intelligentes Suchfeld1.351Manfred X17.04.12 20:18
Re: Intelligentes Suchfeld1.381ModeratorDaveS17.04.12 20:41
Re: Intelligentes Suchfeld1.340Manfred X17.04.12 21:24
Re: Intelligentes Suchfeld1.369ModeratorDaveS17.04.12 21:41
Re: Intelligentes Suchfeld1.470ModeratorFZelle17.04.12 23:25
Re: Intelligentes Suchfeld1.650Manfred X17.04.12 23:56
Re: Intelligentes Suchfeld1.367EXXON18.04.12 08:11
Re: Intelligentes Suchfeld1.348Manfred X18.04.12 08:20
Re: Intelligentes Suchfeld1.475EXXON18.04.12 08:27
Re: Intelligentes Suchfeld1.318Manfred X18.04.12 08:39
Re: Intelligentes Suchfeld1.379bauer18.04.12 09:19
Re: Intelligentes Suchfeld1.323Manfred X18.04.12 16:51
Re: Intelligentes Suchfeld1.290bauer18.04.12 20:58
Re: Intelligentes Suchfeld1.367Manfred X18.04.12 21:23
Re: Intelligentes Suchfeld1.375ModeratorDaveS18.04.12 09:36
Re: Intelligentes Suchfeld1.326bauer18.04.12 08:30
Re: Intelligentes Suchfeld1.374EXXON18.04.12 08:40
Re: Intelligentes Suchfeld1.389bauer18.04.12 09:07
Re: Intelligentes Suchfeld1.305bauer19.04.12 13:16
Re: Intelligentes Suchfeld1.379effeff23.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