AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
21.01.22 - 18:11:10
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  HCL Notes / Domino / Diverses
| |-+  Entwicklung (Moderatoren: eknori, fritandr, koehlerbv, Tode)
| | |-+  DQL versteht gültige Suchabfrage nicht mehr, wenn FT-Index vorhanden ist
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: DQL versteht gültige Suchabfrage nicht mehr, wenn FT-Index vorhanden ist  (Gelesen 225 mal)
pantelis.botsas
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 14


Κάθε μέρα αξίζει


WWW
« am: 17.12.21 - 00:20:35 »

Hallo zusammen,

ich kämpfe mich mit diesem AppDev-Pack ab und habe mich heute gewundert, warum eine bisher tadellos funktionierende DQL-Suche nicht mehr funktioniert.

Die DQL-Abfrage enthält nichts Kompliziertes:
Code:
numFieldName >= 5

Sie funktioniert auch bei fast allen Anwendungen. Und ich habe sehr viel Zeit damit verbracht, nach einem Fehler in der Abfrage zu suchen, weil die Fehlermeldung in der Konsole einerseits sagt, dass ich keine Berechtigungen zur Durchführung der Aktion besitze, um mir dann wenige Zeilen später den DQL Query als fehlerhaft anzumahnen.

Code:
error: [2021-12-16 23:50:02] You are not authorized to perform that operation -  error during planning and tree generation 
numFieldName >= 5

        (Call hint: FTCalls::FTSearchExt, Core call #0)


******************


Nun stellt sich heraus, dass die Abfrage in den wenigen Anwendungen deshalb nicht funktioniert, weil in den Anwendungen gleichzeitig der Volltextindex vorhanden ist.

Lösche ich den Volltextindex in den Anwendungen, beruhigt sich die Konsole wieder und die Abfrage funktioniert in allen Anwendungen.

Sobald der Volltextindex wieder gesetzt ist, kann ich nur noch nach Zeichenketten suchen. Numerische Werte bzw. Datum führen zur oben genannten Fehlermeldung.

Kennt jemand dieses vollkommen abenteuerliche Verhalten und weiß, wie man DQL und Volltextindex gleichzeitig auf einer Anwendung brauchbar nutzen kann?

Liebe Grüße aus Stuttgart,
Pantelis
« Letzte Änderung: 17.12.21 - 14:52:51 von pantelis.botsas » Gespeichert
pantelis.botsas
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 14


Κάθε μέρα αξίζει


WWW
« Antworten #1 am: 13.01.22 - 15:39:45 »

Hallo zusammen

Ich habe nun eine ganze Weile gebraucht, um die Anforderung so umzusetzen, damit die DQL-Abfrage auch mit einem vorhandenen Volltextindex funktioniert.
Doch dabei leidet die Ausführungsdauer ein wenig.

Zur "Umleitungslösung":

Statt das numerische Feld in DQL mit
Code:
numFieldName >= 5
abzufragen, schränke ich das gewünschte Ergebnis mit
Code:
not numFieldName = ''
ein.

Ich erhalte jedoch dadurch ein Ergebnis mit allen Dokumenten, in denen dieses Feld vorkommt.
Interessanterweise liefert diese Suchabfrage aber auch Dokumente zurück, in denen das Feld eigentlich nicht vorkommen sollte, aber mit dem Feldwert undefined  Ahnungslos

Im Anschluß daran führe ich per Javascript eine Filterung der Ergebnisse durch
Code:
result = result.filter((e) => e.numFieldName && e.numFieldName > 5)

Was mir am Ende dann die Dokumente zurückliefert, die ich auch tatsächlich für die weitere Verarbeitung benötige.

Und noch eine Kleinigkeit:

Diese funktionierende Suchabfrage mit DQL ohne Volltextindex
Code:
dateBegin >= @dt('2022-01-01')
muss man bei gleichzeitig vohandenem Volltextindex umschreiben in
Code:
dateBegin >= @dt('2022-01-01T00:00:00.000Z')
damit die Abfrage weiterhin funktioniert  Roll Eyes.

Ich hoffe, ich konnte damit dem einen oder der anderen eine kleine Hilfe geben.

Pantelis
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: