your texto instalar index how full enable completo busqueda sql-server-2008 full-text-search stop-words

sql-server-2008 - texto - install full text search sql server 2017



SQL 2008: Desactivar palabras vacías para la consulta de búsqueda de texto completo (3)

Estoy teniendo un poco de dificultad para encontrar una buena solución para esto:

Digamos que tengo una tabla de "Compañía", con una columna llamada "Nombre". Tengo un catálogo de texto completo en esta columna. Si un usuario buscara "Compañía muy buena", mi consulta sería:

SELECT * FROM Company WHERE CONTAINS(Name, ''"Very" AND "Good" AND "Company"'')

El problema está en este ejemplo, la palabra "Muy" aparece en la lista estándar de palabras clave:

SELECT ssw.* FROM sys.fulltext_system_stopwords ssw WHERE ssw.language_id = 1033;

El resultado es que la consulta vuelve sin filas, aunque existe una fila con el nombre "Compañía muy buena".

Mi pregunta es, ¿cómo puedo hacer para desactivar las palabras clave para mi consulta? ¿O cómo voy a eliminarlos por completo?

¿O hay otra forma en la que debería estar haciendo esta búsqueda?



En caso de que alguien más se tropiece con este problema:

Parece que hay una opción para hacer esto en 2008; No me pareció evidente porque la base de datos se actualizó desde 2005, donde no creo que esta sea una opción.

Lo primero que debe hacer es establecer el nivel de compatibilidad hasta 2008:

ALTER DATABASE [MyDatabase] SET COMPATIBILITY_LEVEL = 100

Luego, al crear el índice de texto completo a través del asistente, hay un paso que le permite ignorar las palabras clave para el índice.

Edición: Aquí está el script para hacerlo también:

ALTER FULLTEXT INDEX ON MyTable SET STOPLIST = OFF


Tuve este problema hoy temprano con la búsqueda de texto completo.

151-663049 - returns result 151-66304 - no result 151-6630 - no result 151-663 - no result 151-66 - no result 151-6 - returns result 151 - returns result 151 returns result

Pero leí una publicación que dice cómo solucionar el problema para agregar un * al final de cada búsqueda. http://social.msdn.microsoft.com/Forums/sqlserver/en-US/fae33a6b-7c7c-4c11-842c-ca5277ed824f/ms-sql-server-2008-r2-fulltext-search-problem

151-663049* - returns result 151-66304* - returns result 151-6630* - returns result 151-663* - returns result 151-66* - returns result 151-6* - returns result 151-* - returns result 151* - returns result

Así que en su parámetro simplemente agregue * a sus búsquedas y resuelva el problema.