Autor Thema: Volltextindex und Zahlenfelder  (Gelesen 7935 mal)

Offline Ch33

  • Frischling
  • *
  • Beiträge: 28
  • Geschlecht: Männlich
Volltextindex und Zahlenfelder
« am: 08.07.09 - 16:27:20 »
Hallo zusammen,

Ich habe ein Problem mit der Volltextsuche in einer Inventardatenbank.

Die Form für das Inventar besteht aus mehreren Textfeldern und einem Zahlenfeld (Inventarnummer).
Es kann mehrere  Dokumente mit der selben Inventarnummer geben.

In einer Ansicht werden alle Dokumente mit dieser Form dargestellt.
In der ersten Spalte befindet sich die Inventarnummer. In den weiteren Spalten einige Textfelder der Form.

Benutzt man nun die Suchfunktion mit Inhalten von Textfeldern, erhält man wie gewünscht die richtigen Ergebnisse. Gibt man allerdings eine Inventarnummer in der Suche an, kann man das Suchergebnis nicht vorhersehen. 
Meist ergeben sich keine Treffer
Manchmal findet man den ersten Eintrag mit dieser Inventarnummer.
Selten findet man alle.

Ist es denn in diesem Fall notwendig, das Zahlenfeld in einen Text umzuwandeln, bzw. Wenn das nicht möglich ist ein zusätzlich verstecktes Textfeld zu erstellen?

Vielen Dank im Voraus.
Chris

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Volltextindex und Zahlenfelder
« Antwort #1 am: 08.07.09 - 18:56:45 »
Ein Volltextindex kann nur Textfelder indizieren. Wenn der Ersteller der Datenbank einen Funken Verstand hat, dann hat er aber die Inventarnummern nicht als Zahlen, sondern als Textfelder angelegt.

Aber in den Versionen vor R6 gab es eine sogenannte Stopwortliste (das ist auf dem Server eine Textdatei DEFAULT... - den genauen Namen weiß ich nicht mehr, findest du aber leicht heraus) - und in deren erster Zeile steht bei Auslieferung
  • -[9]


Wenn du diese Zeile löschst, dann werden auf diesem Server auch reine Zahlen volltextindiziert, in einer Replik auf einem anderen Server dann möglicherweise nicht.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline Ch33

  • Frischling
  • *
  • Beiträge: 28
  • Geschlecht: Männlich
Re: Volltextindex und Zahlenfelder
« Antwort #2 am: 09.07.09 - 06:24:40 »
Also wenn ich das richtig verstehe,
kann man den Volltextindex auf Zahlen über Datei DEFAULT.STP für die Versionen 5 und älter erweitern.

Ab der Version 6 braucht man dann ein zusätzliches Textfeld in dem der numerische Wert dann noch mal als Text angeführt ist.

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Volltextindex und Zahlenfelder
« Antwort #3 am: 10.07.09 - 08:06:14 »
Lieber Chris,

in einem Dokument gibt es Felder mit bestimmten Inhaltstypen. In allen Notesversionen wird nur der Inhaltstyp TEXT in TEXT und RICHTEXT-Feldern volltextindiziert. Das ist versionsunabhängig.

Die Stopwortdatei DEFAULT.STP grenzt allerdings die Texte, die in den Index aufgenommen werden, nochmals ein. Allerweltswörter und Zahlen werden bei der Volltextindizierung vorgabemäßig ausgeschlossen.

Diese Vorgabe kannst du ändern. Das ist serverspezifisch.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline MartinG

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.802
  • Geschlecht: Männlich
Re: Volltextindex und Zahlenfelder
« Antwort #4 am: 10.07.09 - 10:52:04 »
Zitat
  Wenn der Ersteller der Datenbank einen Funken Verstand hat, dann hat er aber die Inventarnummern nicht als Zahlen, sondern als Textfelder angelegt. 

Ist jetzt etwas hart formuliert. Ich bin ja nur "Hobbyprogrammierer", aber das schon seit etlichen Jahren und bin auch erst vor kurzem darüber gestolpert, dass dieses so ist, und ganz nachvollziehen kann ich dies auch nicht....
Martin
Wir leben zwar alle unter dem gleichen Himmel, aber wir haben nicht den gleichen Horizont.
KONRAD ADENAUER

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Volltextindex und Zahlenfelder
« Antwort #5 am: 10.07.09 - 19:17:09 »
Hallo,

ein Indexer kann nur Gleiches mit Gleichem vergleichen. Da Zahlen aber in verschiedenen internen Darstellungsvarianten vorkommen - und dabei eine "-2" als Integer völlig anders gespeichert wird denn als Double oder Currency, macht es prinzipiell keinen Sinn. Anders ist es nur mit Datumsformaten. Die können indiziert werden, weil sie in einheitlichem Format vorliegen.

Wer Postleitzahlen, Hausnummern oder Inventarnummern als Zahlen speichert, bekommt spätestens bei unterdrückten führenden Nullen ein Problem.

Und jetzt zum Verstand und zum Funken. Man kann das Problem beheben, indem man
1. die Feldeigenschaft in der Maske umstellt
2. einen Agenten über alle Dokumente laufen läßt, der aus den Zahlen Texte macht. Wenn es sich um ganze Zahlen handelt, die evtl. größér als 32767 oder kleiner als -32768 sind, unbedingt als LONG deklarieren - und den Textstring der Zahlen mit Nullen auffüllen, wenn man diese Zahlen wie Zahlen sortieren können will ("5" ist sonst größer als "123", aber "005" ist kleiner als "123").
3. den Agenten für einen weiteren Lauf vorsieht (falls sich Dokumente erst nach der Umstellung hineinreplizieren, die noch mit der alten Maske bearbeitet wurden)
4. Testen, ob sich in der Programmlogik Stellen finden, an denen das Feld definitiv als Zahl erwartet wird - die fallen nach der Umstellung sonst nämlich auf den Bauch. Teamstudio Configurator oder Noteshound können da sehr behilflich sein, um das mulmige Gefühl loszuwerden, daß man vielleicht doch nicht alle Stellen erwischt hat. Beide Tools versagen beim Check von Outlines.
5. Punkt 4 sollte zeitlich vor Punkt 1 bis 3 stehen. Sonst können die Nächte kurz oder die Ohren lang werden.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Volltextindex und Zahlenfelder
« Antwort #6 am: 10.07.09 - 19:53:50 »
Hallo,

.... Da Zahlen aber in verschiedenen internen Darstellungsvarianten vorkommen - und dabei eine "-2" als Integer völlig anders gespeichert wird denn als Double oder Currency, ......

Huh?? Seit wann denn das?
Wir sprechen hier nicht von irgendwelchen relationalen DaBas oder Basic-Programmen ... in Notes werden (nach meinem Kenntnisstand) alle Zahlen als Double in den Items abgelegt.

Thomas

Offline Ch33

  • Frischling
  • *
  • Beiträge: 28
  • Geschlecht: Männlich
Re: Volltextindex und Zahlenfelder
« Antwort #7 am: 13.07.09 - 06:48:47 »
Hallo,

vielen Dank erst mal für alle Antworten!

In Textfeld.dieser DB war es nicht erforderlich daß es sich bei dem Feld um ein Zahlenfeld handelt. Das umwandeln in Text hat das Problem gelöst.
Sollte man das Zahlenfeld weiter benötigen, funktioniert auch ein verstecktes Textfeld, das den selben Wert enthält.

Echt ein super Forum hier!

Gruß
Chris

Offline MartinG

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.802
  • Geschlecht: Männlich
Re: Volltextindex und Zahlenfelder
« Antwort #8 am: 13.07.09 - 09:39:26 »
Hallo Norbert,

danke für die tiefergehenden Info. Da merkt man halt den echten Mathematiker/Programmierer...

Gruss
Martin
Martin
Wir leben zwar alle unter dem gleichen Himmel, aber wir haben nicht den gleichen Horizont.
KONRAD ADENAUER

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz