Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Suchmaschine mit logischer Verknuefpung


gerd8888 - Mo 30.05.11 23:29
Titel: Suchmaschine mit logischer Verknuefpung
Hi,

gibt es vielleicht schon eine Suchmaschine, die in einem String-Text nach vielen Schlüsselwörter suchen kann.

Beispiel 1:
(Wort1 AND Wort2) OR Wort3

Beispiel 2:
(Wort1 OR Wort2 OR Wort3) And (Wort4 OR Wort5)

usw.


Narses - Mo 30.05.11 23:32

Moin!

Meinst du reguläre Ausdrücke [http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck]? :gruebel: Da ist aber die Syntax anders. :nixweiss: Und für welche Sprache darf´s denn sein. ;)

cu
Narses


Hidden - Di 31.05.11 09:32

user profile icongerd8888 hat folgendes geschrieben Zum zitierten Posting springen:
(Wort1 AND Wort2) OR Wort3
(Wort1 OR Wort2 OR Wort3) And (Wort4 OR Wort5)


Ja, die gibt es. *g*

http://en.wikipedia.org/wiki/Google_Search#Search_options


Andreas L. - Di 31.05.11 10:24

Meinst du sowas?


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
const
  Wort1 = 'Blubb';
  Wort2 = 'Hallo';
  Wort3 = 'Text';
  Wort4 = 'Bye';
var
  s: String;
begin
  s := 'Mein Text................';

  if ((pos(Wort1, s) > 0and (pos(Wort2, s) > 0)) or (pos(Wort3, s) > 0then
    ShowMessage('Wörter gefunden...');
end;


Suche in der Entwickler-Ecke POS
Suche in der Entwickler-Ecke POSEX


Gausi - Di 31.05.11 11:51

Wenn man einen Text nach vielen Wörtern gleichzeitig durchsuchen möchte, ohne ständig den gesamten Text für jedes Wort aufs neue zu untersuchen (wie das user profile iconAndreas L. vorschlägt), dann gibt es Algorithmen dafür, z.B. den von Wu-Manber. Dazu hab ich in diesem Topic [http://www.delphi-forum.de/viewtopic.php?t=83336] mal was gepostet, oder halt auf meiner Webseite [http://gausi.de/studium.html]. :D

Eine komplexere Suche wie (w1 or w2 or w3) AND (w4 or w5) ist damit nicht direkt möglich - das ist eher was für (w1 or w2 or w3 or ... or w100) ;-)


gerd8888 - Mi 01.06.11 12:30


Delphi-Quelltext
1:
2:
if ((pos(Wort1, s) > 0and (pos(Wort2, s) > 0)) or (pos(Wort3, s) > 0then
    ShowMessage('Wörter gefunden...');


Ja, nur geht das jetzt nur auf einen Fall bezogen.
Ich habe z.B. in einem TEdit1 eine komplexe Suche, die Klammern beinhaltet.
D.h. man muesste dann fuer diese Art Suche die Klammern berücksichtigen usw.

Aber ich wollte im Grunde nur wissen, ob es sowas schon gibt. Anscheinend nicht. Ich selbst brauche es auch nicht unbedingt.
Mir reicht eine Suche mit Or oder AND voellig aus.

Wu-Manber: interessant, habe mir es gerade angesehen. Das will ich mal ausprobieren...

Gerd


Hidden - Mi 01.06.11 12:39

Wenn ich deine Frage oben nicht beantwortet habe, habe ich sie wahrscheinlich falsch verstanden: Du meinst doch so etwas, oder? http://www.google.de/search?q=delphi+AND+(forum+OR+praxis)

user profile icongerd8888 hat folgendes geschrieben Zum zitierten Posting springen:
gibt es eine Suchmaschine, die in einem String-Text nach vielen Schlüsselwörter suchen kann?
Genau das implementiert doch schon Google und eigentlich jede andere Suchmaschine, die ich kenne. Oder meinst du gar keine Suchmaschine, sondern einen Algorithmus in Delphi oder einer anderen Sprache, wie ihn user profile iconAndreas L. angesprochen hat?

lg,