No se puede utilizar un predicado FREETEXT en la tabla o vista indizada, ya que no es la indización de texto completo

Estoy consiguiendo el siguiente error en mi SQL server 2008 R2 base de datos:

Puede utilizar un CONTAINS o FREETEXT predicado en la tabla o vista indizada ‘tblArmy’ porque no es la indización de texto completo.

  • Tiene usted realmente crea un completo catálogo de texto?

7 Kommentare

  1. 105
    1. Asegúrese de que tiene plena característica de búsqueda de texto instalado.

      No se puede utilizar un predicado FREETEXT en la tabla o vista indizada, ya que no es la indización de texto completo

    2. Crear la búsqueda de texto completo catálogo.

       use AdventureWorks
       create fulltext catalog FullTextCatalog as default
      
       select *
       from sys.fulltext_catalogs
    3. Crear índice de búsqueda de texto.

       create fulltext index on Production.ProductDescription(Description)
       key index PK_ProductDescription_ProductDescriptionID

      Antes de crear el índice, asegúrese de que:

      – ya no tiene índice de búsqueda de texto en la mesa, como sólo un índice de búsqueda de texto permite en una tabla

      – existe un índice único en la tabla. El índice debe estar basada en una sola columna de clave, que no permiten valores NULL.

      – catálogo de texto completo que existe. Usted tiene que especificar el nombre de catálogo de texto explícitamente si no hay ningún valor predeterminado de catálogo de texto completo.

    Puede hacer el paso 2 y 3 en SQL server Management Studio. En el explorador de objetos, haga clic derecho en una tabla, seleccione Full-Text index elemento de menú y, a continuación, Define Full-Text Index... sub-elemento de menú. La indización de Texto completo asistente que le guiará en el proceso. También se creará una búsqueda de texto completo catálogo para usted si usted no tiene ninguna aún.

    No se puede utilizar un predicado FREETEXT en la tabla o vista indizada, ya que no es la indización de texto completo

    Usted puede encontrar más información en MSDN

  2. 65

    Una solución para CONTAINS: Si usted no desea crear un Índice de texto completo de la columna, y el rendimiento no es una de sus prioridades usted podría utilizar el LIKE declaración de que no necesita ninguna configuración previa:

    Ejemplo: encontrar todos los Productos que contiene la letra Q:

    SELECT ID, ProductName
    FROM [ProductsDB].[dbo].[Products]
    WHERE [ProductsDB].[dbo].[Products].ProductName LIKE '%Q%'
    • enlace. COMO Transact-SQL predicado funciona sólo en patrones de caracteres. También, usted puede utilizar el predicado LIKE a la consulta de datos de formato binario. Además, una consulta COMO en contra de una gran cantidad de texto no estructurado de datos es mucho más lenta que una consulta de texto completo equivalente en contra de los mismos datos.
    • Ah, dulce… la fácil, la ronda de manera que no requiere que usted para cavar su instalador e ir pasándolo bien con los valores de su entorno. Bien hecho!
  3. 19

    Debe definir Full-Text-Index en todas las tablas de base de datos que requieren el uso de una consulta con CONTAINS que va a tomar algún tiempo.

    Su lugar se puede utilizar el LIKE que va a dar resultados inmediatos sin la necesidad de ajustar la configuración de las tablas.

    Ejemplo:

    SELECT * FROM ChartOfAccounts WHERE AccountName LIKE '%Tax%'

    El mismo resultado obtenido con CONTAINS puede ser obtenida con LIKE.

    ver el resultado:
    No se puede utilizar un predicado FREETEXT en la tabla o vista indizada, ya que no es la indización de texto completo

    • Eso es realmente inteligente
    • Este es un buen truco, pero la forma en que esta respuesta es enunciado está mal. No sólo «uso». Hay algunos graves consecuencias en el rendimiento para hacer esto y alguien pone esto en un sistema de producción debe pensar muy cuidadosamente acerca de hacer el completo análisis de tabla como esta en una columna que no está indizada.
  4. 3

    Usted puede ser que necesite para habilitar la mesa para la indización de texto completo.

    • habilitar/deshabilitar la búsqueda de texto Completo es de color gris en el menú de contexto. Supongo que tengo que instalar de búsqueda de texto Completo. Cómo puedo instalar la búsqueda de texto completo ?
    • Ejecutar la instalación de SQL Server y no debería ser una opción para el cambio de los componentes instalados (o algo similar). Haga clic en ese entonces consultar el Texto Completo de la casilla de verificación en el momento adecuado y usted debe ser bueno. Lo siento, no tengo uno a mano, o me gustaría dar instrucciones más específicas.
    • Tom: yo no vea la opción para agregar características a la hora de ejecutar el SQL server 2008 R2 instalador.
  5. 1

    tienes que añadir de índice de texto completo en las áreas específicas que desea buscar.

    ALTER TABLE news ADD FULLTEXT(headline, story);

    donde «noticias» su mesa «headline, historia de los campos» no te va a habilitar para búsqueda de texto de

  6. 1

    Hay una solución para el conjunto de la columna de texto Completo a true.

    Estos solución, por ejemplo, no funciona para mí

    ALTER TABLE news ADD FULLTEXT(headline, story);

    Mi solución.

    1. Haga clic derecho sobre la tabla
    2. Diseño
    3. Haga Clic derecho sobre la columna que desea editar
    4. De índice de texto completo
    5. Agregar
    6. Cerca de
    7. Actualizar

    PRÓXIMOS PASOS

    1. Haga clic derecho sobre la tabla
    2. Diseño
    3. Haga clic en la columna que desea editar
    4. En la parte inferior de mssql usted habrá ficha «propiedades de la Columna»
    5. Especificación de texto completo -> (índice de texto Completo) establece en true.

    Actualizar

    Versión de mssql 2014

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea