Domanda

Ricerca

In MS SQL full-text, sto usando ISABOUT nelle mie query.

Ad esempio, questo dovrebbe restituire top 10 ProductIDs (PK) con un RANK Field nella Tabella ProductDetails

SELECT * 
FROM CONTAINSTABLE( ProductDetails, *, ISABOUT("Nikon" WEIGHT (1.0), "Cameras" Weight(0.9)), 10 )

Tuttavia, secondo ISABOUT SQL Documentazione è deprecato.

Così, ho due domande:

  1. Qual è ISABOUT stato sostituito con?
  2. Ho anche bisogno di alcun SQL Command in più lì? (IOW, sarebbe solo mettendo la frase di ricerca 'Nikon Cameras' essere meglio?)

Quello che stavo cercando di realizzare in origine qui era di peso la prima parola il più alto, poi la seconda parola più bassa, e continuare a scendere a 0,5 in cui vorrei solo classificare le parole rimanenti a 0,5.

La mia logica (e forse è viziata) era più rilevanti parole di ricerca che della gente di solito accadono vicino all'inizio di una frase (in inglese).

  • I Am andare su questo nel modo sbagliato?
  • C'è un modo migliore?
  • I Am fare troppe domande? (^ _ ^)

Grazie a tutti per il vostro tempo ...

È stato utile?

Soluzione

Il tuo link qui sopra si riferisce a Enterprise Search, ma per la ricerca full-text di SQL Server, ISABOUT è ancora supportato come parte della CONTIENE predicato e CONTAINSTABLE di funzione.

La domanda è stata anche coperto di un post al MSDN SQL Server Search forum.

Altri suggerimenti

ISABOUT aggiunge pesi personalizzati per le tue parole che aiutano a classificare i documenti restituiti. Per CONTAINS(), non fa alcuna classifica, questa forma non ha alcuna influenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top