Volltextsuche (SQL Server 2005) funktioniert nur auf einigen Feldern
-
12-09-2019 - |
Frage
OK dies ist die Situation ..
ich auf einem Tisch der Volltextsuche ermöglicht bin, aber es funktioniert nur auf einigen Feldern ..
CREATE FULLTEXT CATALOG [defaultcatalog]
CREATE UNIQUE INDEX ui_staticid on static(id)
CREATE FULLTEXT INDEX ON static(title_gr LANGUAGE 19,title_en,description_gr LANGUAGE 19,description_en) KEY INDEX staticid ON [defaultcatalog] WITH CHANGE_TRACKING AUTO
jetzt, warum die Folgenden Ergebnisse bringen
Select * from static where freetext(description_en, N'str')
und dies nicht (während des beide Text mit str in it ..)
Select * from static where freetext(description_gr, N'str')
(ich habe es auch versucht, ohne die Sprachspezifikation - griechische in diesem Fall) (Die Sortierung ist von der Datenbank Greek_CI_AS) btw
Select * from static where description_gr like N'%str%'
wird gut funktionieren ..
Alle Felder sind nvarchar Typ und die _gr Felder Englisch und Griechisch Text halten .. (sollte keine Rolle spielen)
Jede Hilfe wird sehr geschätzt
Lösung
Ich versuche nur, um herauszufinden, was los ist: Was tun Sie mit dieser Abfrage erhalten hier
SELECT * FROM static WHERE FREETEXT(*, N'str')
Wenn Sie nicht ausdrücklich jede Spalte die Angabe in suchen - macht es Ihnen die erwarteten Ergebnisse
Ein weiterer Punkt: Ich glaube, Sie versehentlich eine falsche Sprache ID in Ihrer Erklärung haben. Nach dem SQL Server-Online:
Wenn als String angegeben, language_term entspricht den Alias Spaltenwert in der syslanguages Systemtabelle. Die Zeichenfolge muss sein in einfachen Anführungszeichen gesetzt, wie in 'language_term'. Wenn angegeben als eine ganze Zahl ist die language_term Ist LCID , der identifiziert, die Sprache.
und von dem, was ich im Internet gefunden entsprechend um, ist die LCID für griechische 1032 - nicht 19. Können Sie mit 1032 statt 19 versuchen? Macht das einen Unterschied?
Marc