Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Bille am 30.07.04 - 15:16:08
-
Hallo zusammen!
Beim Aufruf eines FTSearch bekomme ich die Fehlermeldung:
"Notes error: Abfrage ist nicht verständlich". Dahinter dann mein Suchstring.
Selektion = "FIELD Abschlussdat >= " & DatumVon & " & " & "FIELD Abschlussdat <= " & DatumBis & " & " & "FIELD ASName = " & MA
Set col = db.FTSearch (Selektion, 0)
Das komische ist, dass der FTSearch bis vor kurzem noch funktionierte und ich an dem Script selbst nichts verändert hab. Der Code sollte deshalb auch stimmen.
Ich weiss schon, diese typischen User-Aussagen "ich hab doch gar nix gemacht" glaubt mir jetzt eh keiner.
Fakt ist, dass ich in einer Test-Datenbank gearbeitet hab und die Masken mittels STRG+C in die Echt-Datenbank kopierte.
Die Echt-Datenbank war ebenfalls indiziert.
Nachdem der Fehler kam, hab ich den Index gelöscht und anschließend nochmals neu erstellen lassen.
Beim Klicken auf "nicht indizierte Dokumente" werden 0 angezeigt.
Ich bin wirklich total ratlos und fühl mich auch relativ unschuldig! *schluchz*
Habt Ihr eine Idee, warum der FTSearch den o.g. Fehler bringt?
Bille
-
In dem Suchstring greifst Du auf Variablen zurück. Sind die denn alle richtig gefüllt?
Andreas
-
Hallo Andreas,
ja, die Variablen passen.
Die richtigen Werte werden mir im Debugger angezeigt.
Bei der Fehlermeldung erscheint der Suchstring auch in korrekter Form.
Ich weiss also echt nicht, wo's hakt ....
Bille
-
Die Testdatenbank war auf einem anderen Server oder lokal? Vielleicht liegt es an der Einstellung für das Datumsformat auf dem Produktionsserver. Oft liegt es an solchen Dingen.
Wenn Du an dem Script in Notes nichts geändert hast, müssen sich die Rahmenbedingungen geändert haben:
- Notes-Version Client
- Notes-Version Server
- Betriebssystem Client
- Betriebssystem Server
- Einstellungen Betriebssystem
Was ist also anders als früher?
Andreas
-
Die wichtigste Frage !!!
Was passiert eigentlich, wenn Du den Suchstring direkt in die Suchleiste eingibst und die Suche von Hand startest?
Andreas
-
Wenn ich den Suchstring direkt in die Leiste eingebe, erscheint ebenfalls der Fehler "Die Abfrage ist nicht verständlich."
Die Testdatenbank liegt am gleichen Server wie die Echtdatenbank, nur in einem anderen Verzeichnis.
Zum Entwickeln hab ich eine Kopie der Echtdatenbank gezogen und darin rumgewurschtelt. Da ich lediglich Änderungen an zwei Masken und einer Teilmaske durchgeführt habe, kopierte ich bloß die geänderten Masken rüber.
Das einzige was die beiden Datenbanken unterscheidet sind die Dokumente, die in den letzten 14 Tagen (seit dem Kopieren) erstellt wurden.
Die Rahmenbedingungen sind gleich geblieben. Es muss irgendwas mit dem Kopieren zu tun haben, denn vorher lief es noch.
Doch ich kann einfach KEINEN Unterschied feststellen ....
-
So, wie Du das beschreibst, Bille, glaube ich nicht, dass das irgendwas mit dem Kopieren von Design-Elementen zu tun hat.
Zwei Tipps, um die Ursachensuche fundiert voranzutreiben:
- Bewirkt der FT-Querystring in der Test- und der Produktiv-DB die gleiche Fehlermeldung (im "Handbetrieb", also Eingabe in die Suchleiste) ?
- Was passiert, wenn Du - wieder im "Handbetrieb" - den Querystring mehr und mehr verkürzt ? So müsstest Du ja den "angemeckerten" Teilstring finden und kannst dann systematischer vorgehen.
HTH,
Bernhard
-
Poste hier doch bitte mal so einen Suchstring.
Es kann nicht an den Dokumenten liegen, denn die Fehlermeldung kommt ja bei der Auswertung der Search Query.
Andreas
-
Die Suchojstaffel wieder im Formationsflug - sieben Sekunden auseinander ;D
Bernhard
PS: Sorry, Bille, für diesen Off-Topic-Beitrag. Such in 'ner ruhigen Minute hier im Forum einfach mal nach "suchoj" ...
-
z.B.
"FIELD Abschlussdat >= 01.01.2004 & FIELD Abschlussdat <= 30.07.2004 & FIELD ASName = Mayr Thomas"
Der Fehler "Abfrage nicht verständlich" trat in beiden DB's auf.
Leider kann ich in der Testumgebung das mit der Suchleiste nimmer probieren, da ich die Test-DB gelöscht habe.
Ich dachte, vielleicht kommt er irgendwie mit den Indizes durcheinander ...
Das mit den Teilelementen in der Suchleiste werde ich mal probieren.
Danke schon mal vorab!!!
-
In der KBASE gibt es einiges:
Error: "Query Is Not Understandable"
Problem:
You enter a legitimate query in a Notes database, but the following error occurs:
"Query is not understandable"
Solution:
This error can occur for the following reasons:
1. If the error occurs with a particular general query, there may be too many matches of the query in relation to the number of the documents in the view.
For example, you have a database with 7000 documents and enter a query such as T*. The error will occur because there are too many potential responses in which a word begins with the letter T. The query engine cannot handle a query which results in more than 5000 matches in 800 documents.
To workaround this limit, refine the query using one of the following suggestions:
a. Specify a string which is less common (than *T for example) but will still retrieve the documents you are looking for. For example "Translate."
b. Reword the query. Use fewer wild cards.
c. Perform a field-based search, using query by form.
This limit is different from the with QueryMaxResults limit of 5000 documents (which signifies the maximum number of documents that the query engine will return).
2. If the error occurs with every query in a database, the Full Text .DLL files on the workstation may be damaged.
You can either reinstall the Notes client or manually replace individual .DLL files (such as the TPAPIWIN.DLL file on a Windows client) using the files from another workstation running the same version of Notes
-
Error: "Query Is Not Understandable" if an AND is Added to an OR Statement Within Parentheses
Problem:
It has been found that submitting the following query on an R5 full-text-indexed database results in the error "Query is not understandable":
(Field Subject contains "First Doc" or Field Color contains "Purple") and Field Quantity = 2
Removing the parentheses from the query string eliminates the error, but it also changes the meaning of the query, as shown below:
Field Subject contains "First Doc" or Field Color contains "Purple" and Field Quantity = 2
Note that the following query works without error:
(Field Subject contains "First Doc" or Field Color contains "Purple") and Field Shape = "Round"
Solution:
This issue was reported to Lotus Quality Engineering and has been addressed in Domino 5.0.1a.
Excerpt from the Lotus Notes and Lotus Domino Release 5.0.1a QMU fix list:
SPR# BHIR48RVXQ - Fix problems with full-text queries containing numeric or date terms when they're not the first or only term in the query, which causes either errors or incomplete search results to be returned. [5.0.1a]
The issue is related to the two different data types; specifically, text within the parentheses and numbers outside the
parentheses. In the third query in the Problem section above, all the query field values are text. Whereas, in the first query, the field values in the parentheses are text, and the field value outside the parentheses is numeric.
Workaround:
The following syntax is equivalent to the first query above and can be used as a workaround:
(Field Subject contains "First Doc" or Field Color contains "Purple") and (Field Quantity = 2)
-
Es kann auch mit der UNK Tabelle zusammenhängen. Wenn bspw. in der Datenbank das Feld "Abschlussdat" kein Datum sondern ein Textfeld ist, könnte die Meldung kommen. Unter R5 lautet die Fehlermeldung zwar anders, aber in R4 kann ich es nicht testen.
Andreas
-
Hm, ich habe den QueryString mal spassenshalber in meinem Mailfile eingegeben. "Relationale Operatoren werden in Textfeldern nicht unterstützt". Die Fehlermeldung mag in R4 anders ausgesehen haben.
Kann es sein, dass AbschlussDat nicht in allen Dokumenten der DB ein Datumsfeld ist ?
Bernhard
-
Das Problem mit den 5.000 Dokumenten kann ich ausschließen. Soviel Dokumente sind's nicht.
Das Feld Abschlussdat ist ein Datumsfeld. Das kann's also auch nicht sein.
Mit der Suchleiste komm ich irgendwie nicht ganz klar.
Wie muss ich die Suchanfrage einstellen?
Genauso, wie's im Script angegeben wird?
z.B.
FIELD ASName = Mayr Thomas
oder mit Anführungszeichen?
"FIELD ASName = Mayr Thomas"
FIELD ASName = "Mayr Thomas"
Es kommt immer der gleiche Fehler
"Abfrage nicht verständlich".
Die angegebenen DLL-Dateien konnte ich nicht finden. Ich muss dazu sagen, ich arbeite an einer OS/2-Kiste mit Notes 4.5.7
Kann es irgendwas mit dem Volltext-Index zu tun haben?
-
@Bernhard
Das Feld Abschlussdat ist schon ein Datumsfeld.
Ursprünglich gab es noch ein weiteres Feld "Signaldat"
Mit einem Agenten hab ich bei allen Dokumenten das Feld Signaldat in das Feld Abschlussdat kopiert.
Mir fiel dabei auf, dass bei diesen Dokumenten das Datum und Zeit enthalten waren.
z.B. 24.07.2004 00.00.00
Bei den anderen "regulär" erzeugten Abschlussdat-Feldern steht das reine Datum drin, also : 24.07.2004
-
Etwas Vorsicht ist bei KB-Artikeln zur FT-Suche angezeigt: die FT-Search-Engine wurde zwischen 4.5.x und heute ettwa 2 mal ausgetauscht, und zwar total. sprich der Artikel oben zu 5.0.1 ist ziemlich sicher irrelevant für eine 4.5.7
-
Das mit der Uhrzeit hat nix zu sagen. Intern speichert Notes (wie fast alle anderen Anwendungen auch) Datums-Zeit-Werte als reelle Zahl ab.
A-Bär: Dass Dein Feld (lt. aktueller Maske) AbschlussDat ein Datums-/Zeit-Feld ist, hat nix zu sagen. In Dokumenten könnte trotzdem im Item gleichen Namens ein Textwert stecken, weil jemand mal sowas (o.ä.) gemacht hat:
FIELD AbschlussDat := "24.07.2004"
Da kannst Du Dich dann mit der Maske auf den Kopf stellen und kleinen Männchen aus Lehm den Kopf abbeissen ...
By the way: War Deine Test-DB eine 1:1-Kopie der Produktiv-DB oder hatte die Test-DB zunächst keine Dokumente ?
Bernhard
-
Als Suchstrings gehen (in R5)
FIELD ASName = Mayr Thomas
FIELD ASName = "Mayr Thomas"
"FIELD ASName = Mayr Thomas"
geht zwar auch, macht aber keinen Sinn, da nach dem String "FIELD ASName = Mayr Thomas" gesucht wird.
In kann mich dunkel erinnern, dass es unter R4 eine andere Syntax gab - mit eckigen Klammern, wenn man FIELD angeben wollte ?
Ausserdem ist das bei Datumswerte evtl. auch mit eckigen Klammern anzugeben.
Unter R5 geht es aber auch alles ohne.
Andreas
-
Etwas Vorsicht ist bei KB-Artikeln zur FT-Suche angezeigt: die FT-Search-Engine wurde zwischen 4.5.x und heute ettwa 2 mal ausgetauscht, und zwar total. sprich der Artikel oben zu 5.0.1 ist ziemlich sicher irrelevant für eine 4.5.7
Volle Zustimmung !
-
@Bernhard
Die Testdatenbank war wirklich eine exakte Kopie samt Dokumente.
Meinst Du, ich sollte mal das Datum aus dem Feld Abschlussdat auslesen und dann wirklich als Datum ins Feld speichern?
Denkst Du, das macht Sinn?
-
@Bernhard
Die Testdatenbank war wirklich eine exakte Kopie samt Dokumente.
Meinst Du, ich sollte mal das Datum aus dem Feld Abschlussdat auslesen und dann wirklich als Datum ins Feld speichern?
Denkst Du, das macht Sinn?
Eher weniger. Dann sind ja Test- und Produktiv-DB letztlich identisch, was die Datenbasis angeht.
"Etwas" ratlos,
Bernhard
-
@Bille: Welche Notes-Version hat der Server und welches Betriebssystem?
Andreas
-
Stimmt, Felder lassen sich mit eckigen Klammern angeben statt dem Schlüsselwort FIELD, das geht aber glaube ich immer noch.
Noch etwas zu Datümmern in Dokümenten: steht denn in diesem Datumsfeld immer was drin? Der Search kann Probleme bekommen, wenn dieses Feld in einzelnen Dokumenten gar nicht existiert, oder wenn das Feld zwar existiert aber leer ist. Leere und nicht existierende Felder werden von Notes notorisch als Text ausgelesen und das verursacht abundan mal einen Volltext-Suchfehler.
-
Was absolot komisch ist, ist:
Mit der Suchleiste komm ich irgendwie nicht ganz klar.
Wie muss ich die Suchanfrage einstellen?
Genauso, wie's im Script angegeben wird?
z.B.
FIELD ASName = Mayr Thomas
oder mit Anführungszeichen?
"FIELD ASName = Mayr Thomas"
FIELD ASName = "Mayr Thomas"
Es kommt immer der gleiche Fehler
"Abfrage nicht verständlich".
Da ist doch irgendwas mit dem FT nicht in Ordnung, oder?
Andreas
-
Was sagt denn Notes dazu, wenn Du in der Suchleiste nur
Mayr Thomas
eingibst? Oder vielleicht will Deine Maschine ja nur ausschliesslich nach der berühmten Golda Meyr suchen und nach niemand anderem ;)
-
So, jetzt hat sich gerade mal der Notes-Server verabschiedet gehabt und ich musste erst einige "beunruhigte" Kollegen vertrösten.
Also:
Der Server läuft mit OS/2 Warp 3 und Notes 4.5.7a
Das mit der Suchleiste kann ich grad gar nicht testen, der Domino-Server startet erst ...
Was aber wirklich komisch ist, dass der FTSearch schon funktionierte. Also irgendwas muss ich angestellt haben, weil von alleine gehen doch nicht einfach Funktionen hops!
-
STOP - STOP - STOP
Ich trau mich es gar nicht sagen, aber seit dem Neustart des Notes-Servers funktioniert der FT wieder.
Tut mir echt leid, dass ich Euch damit belästigt habe!
Künftig werde ich vor jedem Eintrag im Forum den Server außer Betrieb nehmen ;D
Vielen Dank an alle!
Bille
-
Als Du das mit dem Neustart schriebst (und da ja auch Notes R4.5x keine Katastrophe war ;-) dachte ich mir schon:
Alles gut macht der Reboot ...
Ich würde aber nicht immer gleich einen Neustart machen. Aber wenn es gar zu krass wird und auch mit logischem Denken (vor allem, wenn man mehr Schädel einspannt wie beispielsweise über AtNotes) nicht mehr weiterkommt, dann ... ;D
Ergo: Wochenende verdient, Bille ! Hab' ein entsprechend gutes !
Bernhard
-
Ja, danke.
Wünsche ebenso ein schönes Wochenende!!!