Pregunta

Hay una solicitud para que la búsqueda de SO sea predeterminada en AND funcionalidad de estilo sobre el OR actual cuando se usan varios términos.

La respuesta oficial fue:

  

no es tan simple como parece; Utilizamos FREETEXT () de SQL Server 2005 función, y no puedo encontrar una manera de especificar AND vs. OR, ¿verdad?

Entonces, ¿hay una manera?

Hay un número de recursos En él puedo encontrar, pero no soy un experto.

¿Fue útil?

Solución

Bien, este cambio está en: ahora usamos CONTAINS () con AND implícito en lugar de FREETEXT () y su implícito < código> O .

Otros consejos

Por lo que he visto, es no posible Y cuando se usa FREETEXT () bajo SQL 2005 (ni 2008, afaik).

Una consulta FREETEXT ignora los operadores booleanos, de proximidad y de comodín por diseño. Sin embargo, puedes hacer esto:

WHERE FREETEXT('You gotta love MS-SQL') > 0
 AND FREETEXT('You gotta love MySQL too...') >  0

O eso es lo que pienso :)

- La idea es hacer que se evalúe como Booleano, para que pueda utilizar operadores booleanos. No sé si esto daría un error o no. Creo que debería funcionar. Pero el material de referencia apunta al hecho de que esto no es posible por diseño.

El uso de CONTAINS () en lugar de FREETEXT () podría ayudar.

Acabo de empezar a leer sobre el texto libre, así que tengan paciencia. Si lo que está tratando de hacer es permitir búsquedas de una etiqueta, digamos VB, también encuentre cosas etiquetadas como VB6, Visual Basic, VisualBasic y VB.Net, ¿esos valores no se establecerían como sinónimos en el Tesauro del DB en lugar de los parámetros de consulta? ?

Si ese es el caso, este enlace en MSDN explica cómo agregar elementos al tesauro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top