instalar - solr tutorial
Campo de texto de Solr y campo de cadena: comportamiento de búsqueda diferente (2)
Estoy trabajando en Solr 4+.
Tengo varios campos en mi esquema de solr con diferentes tipos de campo de solr.
¿La búsqueda en campo de texto y campo de cadena es diferente?
Porque estoy tratando de buscar en el campo de cadena (que es un campo de copia de algunos campos de facetas) que no funciona como se esperaba. El campo de cadena de destino está indexado y almacenado ambos.
Sin embargo, cuando cambio el campo de destino, que es un campo de texto (solo indexado), funciona bien.
¿Puedes sugerir por qué sucede esto? ¿Cuál es exactamente la diferencia entre los campos de texto y cadena en solr con respecto a las búsquedas?
TextFields
suele tener un tokenizador y un análisis de texto adjuntos, lo que significa que el contenido indexado se divide en tokens separados donde no hay necesidad de una coincidencia exacta: cada palabra / token se puede combinar por separado para decidir si se debe incluir todo el documento en la respuesta .
StrFields
no puede tener ninguna tokenización o análisis / filtros aplicados, y solo dará resultados para las coincidencias exactas. Si necesita un StrField con análisis o filtros aplicados, puede implementarlo utilizando un TextField
y un KeywordTokenizer
.
Un campo de texto general que tiene valores predeterminados de lenguaje cruzados razonables y genéricos: se tokeniza con StandardTokenizer, elimina las palabras de parada de "palabras clave" ("vacías por defecto") que no distinguen entre mayúsculas y minúsculas (vacías de forma predeterminada) y casos inactivos. Solo en tiempo de consulta, también aplica sinónimos.
El tipo StrField no se analiza, sino que se indexa / almacena al pie de la letra.