Las configuraciones descritas a continuación se especifican en fess_config.properties. Es necesario reiniciar Fess después de realizar los cambios.
Búsqueda Difusa
La búsqueda difusa se aplica a términos de 4 caracteres o más, encontrando coincidencias con una diferencia de 1 carácter. Para desactivar esta configuración, especifique -1.
El valor predeterminado es 4. Para la configuración detallada de la búsqueda difusa, consulte la sección «Configuración de Relevancia (Boost)» que se describe más adelante.
Tiempo de Espera en Búsqueda
Puede especificar el valor de tiempo de espera para las búsquedas en milisegundos. El valor predeterminado es 10 segundos (10000 milisegundos).
Longitud Máxima de Consulta
Puede especificar la longitud máxima de caracteres para las consultas de búsqueda. Las consultas que superen esta longitud no serán aceptadas. El valor predeterminado es 1000 caracteres.
Registro de Tiempos de Espera en Búsqueda
Indica si se registran las búsquedas cuyos resultados están incompletos porque se agotó el tiempo de espera de la consulta o falló un shard. Si está activada, se escribe una línea de registro de nivel WARN en los siguientes casos:
[SEARCH TIMEOUT]: se agotó el tiempo de espera de la consulta (query.timeout) y el motor de búsqueda dejó de recopilar resultados.[SEARCH SHARD FAILURE]: fallaron uno o más shards.
Si ocurren ambos casos, se escriben ambas líneas. Cada línea contiene exec_time (milisegundos), la solicitud y la respuesta completa. En caso de fallo de un shard, el motivo se encuentra en _shards.failures de esa respuesta; el propio motor de búsqueda solo lo registra en el nivel DEBUG. El valor predeterminado es true (activado).
Visualización del Número de Resultados
Especifica el límite superior del número de resultados que se contabilizan con exactitud. Con el valor predeterminado, cuando hay más de 10.000 resultados, se muestra de la siguiente manera:
xxxxx の検索結果 約 10,000 件以上 1 - 10 件目 (4.94 秒)
Especifique un valor mayor cuando sea necesario mostrar el número exacto de resultados que supere los 10.000.
Nota
Configurar un valor demasiado grande puede afectar el rendimiento de las búsquedas. Establezca un valor apropiado según el uso previsto.
Desplazamiento Máximo de Resultados de Búsqueda
Especifica el límite superior del desplazamiento (posición de inicio de búsqueda) que se puede obtener en los resultados de búsqueda. Si se especifica un desplazamiento que supere este valor, la búsqueda devolverá un error. Funciona como valor límite al navegar hasta páginas profundas en la paginación. El valor predeterminado es 100000.
Umbral de Repetición de Búsqueda con OR
Cuando el número de resultados de una búsqueda normal es menor o igual al valor aquí especificado, se realiza una nueva búsqueda cambiando el operador a OR. Esto permite complementar los resultados cuando la búsqueda AND devuelve muy pocos resultados. El valor predeterminado es -1, lo que significa que esta función está desactivada.
Nombre del Campo para Búsqueda Geoespacial
Especifica el nombre del campo para búsquedas geoespaciales. Para especificar varios campos, utilice comas como separador. El valor predeterminado es location.
Para obtener información sobre cómo usar la búsqueda geoespacial, consulte Búsqueda por Geolocalización.
Especificación de Idioma en Parámetros de Solicitud
Especifica el nombre del parámetro para especificar el idioma en los parámetros de solicitud. Por ejemplo, si pasa browser_lang=en como parámetro de solicitud en la URL, el idioma de visualización de la interfaz cambiará a inglés.
Idioma Predeterminado para la Búsqueda
Especifica el idioma predeterminado para las búsquedas, separado por comas. Si se establece un valor, tiene prioridad sobre el idioma indicado en los parámetros de solicitud o en el navegador. El valor predeterminado está vacío (sin especificar), en cuyo caso se utiliza el idioma del parámetro de solicitud o del navegador.
Mapeo de Códigos de Idioma
Especifica el mapeo de normalización de los códigos de idioma utilizados durante las búsquedas. Convierte los códigos de idioma recibidos del navegador o de la solicitud a los códigos de idioma utilizados internamente por Fess. Normalmente no es necesario modificar esta configuración. El valor predeterminado incluye mapeos para los principales idiomas.
Especificación de Búsqueda por Prefijo
Cuando se añade * al final de un término de búsqueda (por ejemplo: búsqueda*), ese término se busca como una consulta de prefijo. El valor predeterminado es true (activado). Si se especifica false, los términos con * al final también se buscan tal como están.
Caracteres de Resaltado
Las oraciones se dividen utilizando las cadenas de caracteres especificadas aquí para lograr una visualización de resaltado natural. Las cadenas especificadas se convierten en caracteres Unicode utilizando u como delimitador inicial.
El valor predeterminado se establece de la siguiente manera (en formato decodificado):
! , . ? ։ ؟ ۔ ܀ ܁ ܂ । ၊ ။ ። ፧ ፨ ᙮ ᠃ ᠉ ‼ ‽ ⁇ ⁈ ⁉ 。 ﹒ ﹗ ! . ? 。
Fragmentos de Resaltado
Especifica el número de caracteres y el número de fragmentos de resaltado obtenidos de OpenSearch.
Método de Generación de Resaltado
Especifica el método de generación de resaltado de OpenSearch.
Etiquetas de Resaltado
Especifica las etiquetas de inicio y fin para el resaltado.
Valores Pasados al Resaltador de OpenSearch
Especifica los valores que se pasan al resaltador de OpenSearch.
Configuración Avanzada de Resaltado
Configuración para controlar el comportamiento detallado del resaltado.
Nombres de Campo Adicionales en Respuesta
Especifica los nombres de campo adicionales en la respuesta para búsquedas normales o búsquedas API. Corresponden respectivamente a los resultados de búsqueda normal, búsqueda API (JSON/GSA), búsqueda scroll y visualización de caché.
Nota
query.additional.api.response.fields solo añade campos a la lista de campos que se pueden incluir en la respuesta de la API de búsqueda (/api/v2/search). Por sí solo, no hace que un campo aparezca en la respuesta. La API de búsqueda obtiene del motor de búsqueda los mismos campos que una búsqueda normal, incluidos los de query.additional.response.fields, y devuelve solo los campos obtenidos que están en esa lista. Para incluir un campo propio en la respuesta de la API de búsqueda, especifique el mismo nombre de campo en ambos ajustes.
Para obtener más detalles sobre los campos de respuesta de la búsqueda scroll, consulte Obtención Masiva de Resultados de Búsqueda.
Adición de Nombres de Campo
Especifique al agregar nombres de campo de búsqueda, nombres de campo de facetas, nombres de campo de ordenación, entre otros.
El significado de cada configuración es el siguiente:
| Configuración | Descripción |
|---|---|
query.additional.default.fields | Agrega campos al conjunto de campos predeterminados en los que se busca cuando la consulta no especifica campo. |
query.additional.search.fields | Agrega campos a los que se pueden buscar especificando el nombre del campo. |
query.additional.facet.fields | Agrega campos que se pueden utilizar como facetas. |
query.additional.sort.fields | Agrega campos que se pueden utilizar como criterio de ordenación. |
query.additional.highlighted.fields | Agrega campos que serán objeto de resaltado. |
query.additional.analyzed.fields | Agrega campos que serán tratados como objeto de análisis por el Analyzer. |
query.additional.not.analyzed.fields | Agrega campos que no serán analizados por el Analyzer. |
Uso de un Campo Personalizado para Facetas, Ordenación y Búsqueda por Rango
Un campo que añade un script de almacén de datos o una configuración de rastreo, como category o price, no tiene definición en el mapeo del índice. OpenSearch crea una a partir del primer valor que indexa para ese campo:
Una cadena se convierte en un campo
text, con un subcampokeywordllamado<field>.keyword(las cadenas de más de 256 caracteres no se almacenan en el subcampo).Un número se convierte en un campo numérico:
longpara un número entero,floatpara un número con decimales. El motor JavaScript entrega todos los números como valores de coma flotante, por lo que un valor convertido conparseInttambién se convierte enfloat.
Cada uso necesita el adecuado:
| Uso | Campo que se debe usar | Configuración |
|---|---|---|
| Faceta | <field>.keyword. Una faceta sobre el propio campo text falla con 400. | query.additional.facet.fields |
| Ordenación | Un campo numérico (o de fecha). El valor de ordenación es | query.additional.sort.fields |
| Búsqueda por rango | Un campo numérico (o de fecha). En un campo de cadena, los límites se comparan como texto: |
|
Un valor leído de CSV, JSON o una base de datos es una cadena salvo que el script lo convierta, así que convierta los valores por los que desee ordenar o buscar por rango. Con el motor JavaScript, el predeterminado para las configuraciones de almacén de datos creadas en 15.9 (script_type=javascript):
Defina un campo numérico en el mapeo del índice antes de indexar el primer documento que lo contiene. El tipo float que se crea en caso contrario conserva solo unas siete cifras significativas, y un número entero mayor que 16.777.216 puede redondearse a un valor cercano: un documento cuyo price es 20000001 coincide con price:[20000000 TO 20000000], y la ordenación no puede distinguirlos. Use long para números enteros y double para decimales.
Añada el campo al índice de documentos actual a través del alias
fess.update.Añada la misma definición en
propertiesdeapp/WEB-INF/classes/fess_indices/fess/doc.jsonde la instalación, para que también la tenga un índice de documentos que Fess cree más adelante (en el primer arranque con un clúster vacío, o mediante una reindexación en la página Mantenimiento). Una actualización reemplazadoc.jsonpor el archivo de la nueva versión, así que vuelva a añadir la definición después de actualizar.
A continuación, enumere los campos en fess_config.properties y reinicie Fess:
Después, los campos se pueden utilizar a través de la API de búsqueda:
Nota
El tipo de un campo queda fijado cuando se indexa el primer documento que lo contiene, y la API de mapeo no puede cambiarlo después. Para cambiar el tipo de un campo ya indexado, como cadena o como float, añada la definición a doc.json como en el paso 2 anterior y ejecute una reindexación en la página Mantenimiento con «Actualizar alias» habilitado. Los documentos se copian a un índice nuevo creado a partir de doc.json.
Nota
La pantalla de búsqueda incluida con Fess (el tema estático bootstrap) solo muestra la faceta label (y las consultas de faceta de query.facet.queries), y su menú de ordenación solo ofrece los campos estándar. Las facetas sobre otros campos están disponibles a través de la API o en un tema propio. Una búsqueda por rango, y una ordenación escrita en el cuadro de búsqueda como sort:price.desc, también funcionan en la pantalla de búsqueda.
Agrupación de Documentos Similares (collapse)
Configuración de la función collapse que agrupa (colapsa) documentos similares (casi duplicados) mediante el campo content_minhash_bits. query.collapse.inner.hits.name es el nombre del campo donde se almacenan los documentos similares en los resultados de búsqueda, query.collapse.inner.hits.size es el número de documentos similares a obtener por grupo (0 significa no obtener ninguno), query.collapse.inner.hits.sorts es el criterio de ordenación al obtener documentos similares, query.collapse.max.concurrent.group.results es el número máximo de solicitudes simultáneas al obtener grupos.
Preferencia de Búsqueda
Especifica la preferencia (valor que determina los shards de búsqueda) que se pasa a OpenSearch en las búsquedas API en formato JSON. Al especificar _query, el valor hash de la consulta de búsqueda se utiliza como preferencia, de modo que la misma consulta se enruta al mismo shard. El valor predeterminado es _query.
Configuración de Relevancia (Boost)
Especifica los valores de boost utilizados para el cálculo de relevancia (puntuación) durante las búsquedas. Las configuraciones con .lang son valores de boost para campos específicos de idioma (por ejemplo: content_ja).
Los valores de boost y el comportamiento de la búsqueda difusa se especifican a continuación. query.boost.fuzzy.min.length es el número mínimo de caracteres para aplicar la búsqueda difusa (-1 para desactivar).
Configuración del Tipo de Consulta
Especifica el tipo de consulta a utilizar durante las búsquedas y su comportamiento detallado. query.default.query_type es el tipo de consulta estándar a utilizar, query.dismax.tie_breaker es el valor tie breaker de la consulta dismax, query.bool.minimum_should_match es el valor minimum_should_match de la consulta bool (sin especificar si está vacío).
Configuración Detallada de Búsqueda por Prefijo y Difusa
Especifica el comportamiento detallado de las consultas de prefijo y de las consultas difusas.
Configuración de Facetas
Especifica el comportamiento predeterminado de la búsqueda por facetas. query.facet.fields es el campo sobre el que se aplica la faceta, query.facet.fields.size es el límite superior del número de facetas a obtener, query.facet.fields.min_doc_count es el número mínimo de documentos para mostrar en la faceta, query.facet.fields.sort es el orden de clasificación de la faceta, query.facet.fields.missing es el valor que se asigna a los documentos que no tienen valor.
La pantalla de búsqueda incluida con Fess solo solicita la faceta label, independientemente de lo que indique query.facet.fields; consulte Uso de un Campo Personalizado para Facetas, Ordenación y Búsqueda por Rango.
Configuración para Obtener Resultados en Formato XML Compatible con GSA
Se utiliza al obtener resultados de búsqueda en formato XML compatible con GSA.
- Especifica los nombres de campo adicionales en la respuesta al usar el formato XML compatible con GSA.
- Especifica el idioma predeterminado al usar el formato XML compatible con GSA.
- Especifica la ordenación predeterminada al usar el formato XML compatible con GSA.
- Especifica el prefijo de metadatos al usar el formato XML compatible con GSA.
- Especifica el campo charset al usar el formato XML compatible con GSA.
- Especifica el campo content_type al usar el formato XML compatible con GSA.
- Especifica la preferencia predeterminada al usar el formato XML compatible con GSA.