Die Volltextsuche findet keine Präfixe

9

Ich verwende die Volltext-Suchfunktionen von SQL Server 2014, um Dokumente in einer Datenbank zu finden, die mit einem bestimmten Präfix beginnen. Einige Abfragen liefern jedoch keine Ergebnisse, während sie sollten.

Nehmen Sie das folgende Beispiel:

%Vor%

Ich verstehe das erste und dritte Ergebnis, aber nicht das zweite. Die Stoppliste für den Volltextindex ist ausgeschaltet. Die Sprache für den Wordbreaker ist auf Deutsch eingestellt.

BEARBEITEN:
Der Vorschlag, FREETEXT stattdessen zu verwenden, ist keine Lösung für diesen speziellen Fall, da ich die Nähe-Suchfunktion von CONTAINS benötige.

    
Mathias Becher 18.11.2014, 15:00
quelle

2 Antworten

1

Das Problem liegt bei den Worttrennern, die die Phrasen-ID nicht enthalten, daher wird die zweite Abfrage in das Äquivalent von (Pseudo-SQL) übersetzt.

%Vor%

Aber "Friedenseinsätze" hat in Position 2 "einsätze". Mit der richtigen Phrasen-ID würde die Abfrage

werden %Vor%

Das Office-Team wurde informiert. Der Connect Thread wird aktualisiert, sobald neue Informationen verfügbar sind.

UPDATE: Das Problem wurde behoben als Nicht reparieren .

    
Mathias Becher 08.01.2015, 01:57
quelle
2

Danke, dass Sie diese Frage geschrieben haben Mathias. Ich wollte nur darauf hinweisen, dass der Vorschlag von Microsoft (über Ссылка ) in das Format

%Vor%

Das hilft Mathias zwar nicht, aber es hat mir geholfen und könnte dem Leser helfen.

In meinem Fall hatte ich ein Problem mit der Suche nach einer Datumszeichenfolge, die in einem Textfeld (nvarchar) gespeichert ist. Mein einfaches Beispiel war, dass dies NICHT funktionierte:

%Vor%

... gibt nichts zurück. Wenn ich jedoch wie folgt auf FREETEXT umschalte, kehrt es wie erwartet zurück.

%Vor%

Ich verwende auch SQL 2014. Bitte stimmen Sie den MS Connect-Link ab, wenn Sie auch dieses Problem haben.

UPDATE 1/8/2015:

Ich habe festgestellt, dass diese Lösung in meinem Fall nicht funktioniert, da FREETEXT andere Datumswerte zurückbringt, die "ähnlich" sind oder so scheinen. Mit meinem Beispiel vom 1.5.2015, bekomme ich auch wieder Treffer am 1/2/2015, 1/6/2015 und so weiter. In der Tat, wenn ich abfragen gegen 12/5/2014 (früheres Jahr) bekomme ich Treffer über das ganze Jahr, so scheint das "ähnlich" von Jahr in diesem Fall definiert.

Als Referenz finden Sie hier die SQL-Dokumentation: Ссылка

    
ebol2000 08.01.2015 00:13
quelle