Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: fsinani am 19.04.11 - 14:27:54

Titel: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: fsinani am 19.04.11 - 14:27:54
Hallo Gemeinde,

ich habe mich ermuntern lassen, für den Vertrieb eine Volltextsuche in einer CRM DB einzurichten, in der auch Angebote abgelegt sind.

Der Vertreib wünscht nun die Suche nach Angeboten, in denen eine bestimmte Artikelnummer mit der Menge 10 oder höher angeboten wurde.

[form] like ANGEBOT and [pc] >=10 and [articleno] like 123456

Das Dumme dabei ist aber, dass das Feld [pc] eine Zahlenliste ist, die mehrere Werte enthalten kann (durch Zeilenumbruch angezeigt). Es kann also durchaus sein, dass mein erster Artikel etwas völlig anderes mit der Menge 5 und darunter aber mein gesuchter Artikel mit der Menge 10 oder höher aufgeführt wird. Dennoch wird das Dokument dann NICHT angezeigt!!

Die Frage konzentriert sich also darauf:

Wie finde ich den gesuchten Artikel mit der gesuchten angebotenen Menge auch dann, wenn er nicht an oberster Stelle im Angebot aufgelistet ist sondern weiter unten??


Vielen Dank

fsinani
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: atbits am 19.04.11 - 14:50:11
Die VollTEXTSuche geht nicht auf Zahlenfelder!
Du müßtest das in ein weiteres Feld als Text reinrechnen.

Grüße david
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: Glombi am 19.04.11 - 15:02:49
Das ist so nicht ganz korrekt ... ;)

Man kann aus der Stopwortdatei die Zahlen herausnehmen, dann werden die auch indiziert.

siehe auch
http://atnotes.de/index.php/topic,44450.0.html
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: atbits am 19.04.11 - 15:12:58
Ok aber im Thread steht auch drin, dass die Stopword-Liste mit GTR ignoriert wird, zumindest wenn ich eknori richtig verstehe ...

und GTR ist laut
http://www.ibm.com/developerworks/lotus/library/ls-search_variables/index.html
ab 5.0.5 aktiv.

Und auch sonst wäre der ganze Server von der Aktion betroffen, d.h. der FT-Index auf allen DB's würde dann auch Zahlenfelder machen.
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: Glombi am 19.04.11 - 15:21:46
Aus der Notes 8 Hilfe:

= (equal)
< (less than)
> (greater than)
<= (less than or equal)
>= (greater than or equal)   

Search for numbers or dates in numeric or date fields only.


   Example
   FIELD date1<12/25/98
   Finds documents whose 'date1' field contains any date before 12/25/98.
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: atbits am 19.04.11 - 15:26:42
Du hast Recht mit der Hilfe  ???
Ich weiß nur, dass ich da mal Probleme mit hatte und deswegen dann alles in Textfelder reingerechnet hatte da ging es dann.
Beim anderen hatte ich reproduzierbar die falschen Ergebnisse.

Aber wenn Du sagst es geht, lass ich mich gerne eines besseren beleeren  ;)
Ich bin da nicht ehrenkäsig

Grüße David
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: Peter Klett am 19.04.11 - 15:32:03
Ich denke, dass die Anforderung mit einer Volltextsuche nicht machbar ist.

z.B. soll dieses gefunden werden

Artikel        Anzahl
111111       5
123456      15

das aber nicht

Artikel        Anzahl
111111      15
123456       5

Da wird schon etwas mehr Logik verlangt. Vorstellbar wäre mittels db.Search alle Dokumente herauszusuchen, die die Artikelnummer 123456 und eine Anzahl >= 10 haben und dann durch die Collection zu laufen, und die Dokumente nachzuselektieren, bei denen die Anzahl auch zum Artikel passt.
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: atbits am 19.04.11 - 15:38:39
Naja, man kann durchaus die erste Suche nach der Artikelnummer als Volltextsuche machen.
Und dann wie Du gesagt hast im 2. Schritt die Collection durchlaufen und alle nichterwünschten rauswerfen.

Sollte gehen. Es stellt sich dann aber schon die Frage (und ich denke darauf zielst Du ab Peter), ob die FT-Search überhaupt einen Performance-Vorteil an der Stelle bringt ...
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: Peter Klett am 19.04.11 - 15:46:12
Mit dieser Selektionsformel müsste man die Dokumente direkt per db.Search finden (Form usw. habe ich mal ignoriert)

articelno = "123456" & pc [@Member (articelno; "123456")] >= 10

EDIT: articelno habe ich als Textfeld angenommen, ggf. anpassen
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: fsinani am 19.04.11 - 16:40:18
Oh,

vielen Dank für die Rege Teilnahme an diesem Thread:

Ich glaube, etwas ganz entscheidendes vergessen zu haben, zu erwähnen :-)
Die zu durchsuchenden Notesdokumente haben je ein Feld mit der Artikelnummer und ein eigenes für die Menge. Lediglich die Reihenfolge dient als "Verbinder".


Beispiel:
Feld Articleno (Text/Textliste): 123455;123456;123457
Feld pc (Zahl/Zahlenliste):       5;10;15

Der zweite Artikel "123456" hat die zweite Menge "10"
Die Suchformel soll in der Suchleiste der Ansicht von Nicht -Designern eingegeben werden können

Wenn Ihr jetzt fragt, warum unser CRM keine tollen Suchmasken anbietet, dann ist die Frage berechtigt :-)
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: atbits am 19.04.11 - 16:42:37
Du wirst für Die Anforderung nicht drumherum kommen eine eigene Suchmaske zu bauen
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: fsinani am 19.04.11 - 17:08:12
OK,

vielen Dank! Das hatte ich befürchetet. Nun habe ich mal unserem Entwickler eine Email gesendet. Der wird sich evtl. freuen :-)
Titel: Re: Volltextsuche mit math. Operator auf Zahlenliste
Beitrag von: Peter Klett am 19.04.11 - 18:05:56
Ich glaube, etwas ganz entscheidendes vergessen zu haben, zu erwähnen :-)
Die zu durchsuchenden Notesdokumente haben je ein Feld mit der Artikelnummer und ein eigenes für die Menge. Lediglich die Reihenfolge dient als "Verbinder".
Ich denke, das hat jeder genau so verstanden gehabt ..