Newsgroup: it.comp.lang.visual-basic
Titolo: (OT?) SQL Server e Full Text Search

[Scusate l'eventuale OT, ma ho postato anche su it.comp.software.database,
senza ricevere risposta..]
Dunque.. innanzitutto salve a tutti!
Il mio problema è questo:
Ho una macchina in cui è installato Win2000 server e SQL Server 7.0 con
Full Text Search. Il tutto, notare bene, in lingua inglese.
Ora il problema sta qui: ho una tabella formata da N campi, fra i quali uno
è una chiave primaria, e l'altro un ntext che può contenere anche fino a un
mega di parole (sono capitoli di alcuni libri).
Su quest'ultimo ho attivato la ricerca full text, creando i suoi bravi
cataloghi ecc ecc..
Il problema sorge con l'apostrofo (cioè questo segno: ' ): l'indicizzatore
non me lo riconosce come separatore, come invece fa con la normale
punteggiatura, quindi se ad esempio nel testo c'è la frase
DELL'INFANZIA
cercando solo INFANZIA questo non mi tira fuori una mazza.
Ho cercato a destra e a manca con google, msdn, ecc... ma non
sono riuscito a venirne a capo. Qualcuno si è già imbattuto in un simile
problema?
Sicuramente c'è da qualche parte un config, un ini o qualcosa del genere
che gli indica la lista dei separatori (come infatti c'è quella delle dirty
words), ma dove è??
Faccio notare che il jolly a inizio parola, essendo questa indicizzata, non
funziona. Cioè una clausola CONTAINS(testo, '''* INFANZIA"') non produce
alcun risultato (e inoltre se funzionasse porterebbe a risultati non
desiderati, tipo se cerco MOTO mi tirerebbe fuori pure TERREMOTO, MAREMOTO,
ec...).
Non vorrei risposte tipo "usa il LIKE", per ovvi motivi di velocità, visto
che non potrei così sfruttare le prestazioni dovute all'indicizzazione a
cataloghi della colonna. E nemmeno "installalo in italiano" poichè ci
girano sopra già altre applicazioni, dovrei quindi prendermi un'altra
licenza (sempre che SQL SERVER 7 lo vendano ancora..)
So che non è un problema prettamente VB, ma visto che devo usare il db con
un client  in VB appunto... :-)
Grazie a tutti.
--
Regards LaZ
.·´¯`·.¸.·´¯`·.¸ ><((((º> ....... <º))))>< .·´¯`·.¸.·´¯`·.¸
Mi riservo, con fermezza, il diritto di contraddirmi. (Paul Claudel) 
.·´¯`·.¸.·´¯`·.¸ ><((((º> ....... <º))))>< .·´¯`·.¸.·´¯`·.¸

 licenza (sempre che SQL SERVER 7 lo vendano ancora..)
Scusa .. forse non ho ben chiaro il problema .. ma mi  viene spontanea una
risposta :
trasforma i caratteri ' in caratteri ` (Ascii = 96)
Io non archivio mai i caratteri ' e " ma li trasformo sempre in ` e ``
Saluti

Io non archivio mai i caratteri ' e " ma li trasformo sempre in ` e ``
Mhh mi sono spiegato male. Innanzitutto ho sbagliato parlando di apostrofo,
sarebbe stato più corretto dire apice.
Il problema è che non posso modificare il testo originale in alcun modo,
non perchè non posso, ma perchè devo attenermi al testo in forma
elettronica che mi è stato passato.
' è e ' deve rimanere..
Comunque provo, per curiosità, giusto per vedere se ` me lo accetta come
separatore o se mi presenta lo stesso problema di prima.


separatore o se mi presenta lo stesso problema di prima.
..mi presenta lo stesso problema...


 Il mio problema è questo:
(cut)
prova a cercare "DELL''INFANZIA"
se funziona, devi solo trovare il modo di raddoppiare l'apice
prima di ogni ricerca.
ciao. buc

ciao. buc
DELL'INFANZIA me lo trova... è INFANZIA che non mi trova :)
