Hallo,
Ik heb een tabel met artikelen. Een kolom in deze tabel heeft een fulltext index en bevat informatie zoals artikelnaam, artikelnummer, etc....
Bijvoorbeeld:
CR1AC1EM1SP10535PG5 008498 31755 008498 4015080317555 Dit is een heel mooi artikel
Het vetgedrukt nummer is het nummer waar ik op zoek mbv het ContainsTable keyword. De query ziet er alsvolgt uit:
Als ik de query run dan komt ie niet alleen terug met bovenstaande artikel, maar met alle artikels waarvan het nummer begint met 401508 (de eerste 6 digits dus).
Dit probleem treedt op als de taal van de fulltext kolom op 'Neutral' of 'Dutch' staat. Wanneer ik de taal verander naar 'English' dan krijg ik wel als resultaat alleen dit artikel terug. Dit had ik echter ook verwacht als de taal op 'Neutral' of 'Dutch' staat.
Als ik de query aanpas zodat er een sterretje (*) staat in plaats van de laatste 5 uit het artikelnummer, dan werkt het wel correct, dus:
Ik wil echter graag als language 'Dutch' omdat de artikelnamen voornamelijk in het Nederlands zijn. Bovendien draait de database al bij klanten en ik weet niet wat voor beerput ik open trek als ik de language ga aanpassen.
Wat gaat er verkeerd en wat kan ik doen om het op te lossen?
Ik heb een tabel met artikelen. Een kolom in deze tabel heeft een fulltext index en bevat informatie zoals artikelnaam, artikelnummer, etc....
Bijvoorbeeld:
CR1AC1EM1SP10535PG5 008498 31755 008498 4015080317555 Dit is een heel mooi artikel
Het vetgedrukt nummer is het nummer waar ik op zoek mbv het ContainsTable keyword. De query ziet er alsvolgt uit:
SELECT top 10 * FROM MyTable INNER JOIN containstable(MyTable, ColumnProductInfo, '"4015080317555"', 1000) FTS ON MyTable.ColumnUniqueKey = FTS.[key]
Als ik de query run dan komt ie niet alleen terug met bovenstaande artikel, maar met alle artikels waarvan het nummer begint met 401508 (de eerste 6 digits dus).
Dit probleem treedt op als de taal van de fulltext kolom op 'Neutral' of 'Dutch' staat. Wanneer ik de taal verander naar 'English' dan krijg ik wel als resultaat alleen dit artikel terug. Dit had ik echter ook verwacht als de taal op 'Neutral' of 'Dutch' staat.
Als ik de query aanpas zodat er een sterretje (*) staat in plaats van de laatste 5 uit het artikelnummer, dan werkt het wel correct, dus:
SELECT top 10 * FROM MyTable INNER JOIN containstable(MyTable, ColumnProductInfo, '"401508031755*"', 1000) FTS ON MyTable.ColumnUniqueKey = FTS.[key]
Ik wil echter graag als language 'Dutch' omdat de artikelnamen voornamelijk in het Nederlands zijn. Bovendien draait de database al bij klanten en ik weet niet wat voor beerput ik open trek als ik de language ga aanpassen.
Wat gaat er verkeerd en wat kan ik doen om het op te lossen?