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

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top