Introducción al análisis difuso
La búsqueda difusa es un método que permite a un motor de búsqueda realizar una coincidencia difusa entre la consulta del usuario y un documento para encontrar contenido relevante. Esto resulta útil cuando la intención de búsqueda no es clara. Una coincidencia difusa se produce de dos maneras: la consulta corresponde al pinyin completo o a las iniciales en pinyin del contenido del documento, o bien la consulta aparece directamente en el documento. Dado que la búsqueda difusa no interpreta con precisión la intención del usuario, los resultados pueden incluir mucha información irrelevante. Por lo tanto, utilice este método con precaución según su escenario específico.
Notas
El tipo de campo para un analizador difuso debe ser SHORT_TEXT.
En las consultas de tokenización difusa, use comillas simples por regla general. Utilice comillas dobles únicamente para los requisitos específicos que se describen en este documento.
Escenarios
La búsqueda difusa se usa principalmente cuando la intención de búsqueda del usuario no es clara, o cuando se cuenta con pocos datos y se desea obtener más resultados. A continuación se muestran los escenarios principales.
Búsqueda por pinyin
Introducción: La búsqueda por pinyin le permite buscar datos en chino dentro de un documento mediante el pinyin completo o sus iniciales.
Ejemplo:
Document content: OpenSearch
The following queries all retrieve this document:
"kai", "kaifang", "sousuo", "kaifangsousuo", "k", "kf", "ss", "kfss"
Notas:
Use comillas dobles en las consultas de búsqueda por pinyin.
Para buscar contenido contiguo dentro de un documento, encierre la consulta entre comillas dobles. En la búsqueda por pinyin siempre se requieren comillas dobles, ya que una consulta en pinyin escrita por el usuario tiene una intención específica. Por ejemplo, un usuario que busca "kfss" (OpenSearch) espera que los caracteres correspondientes aparezcan juntos.
Búsqueda por prefijo
Introducción: La búsqueda por prefijo recupera el contenido que comienza con un prefijo determinado.
Ejemplo:
# The prefix identifier for fuzzy search is '^'. To search for phone numbers that start with 138,
# write the query as "^138". Note: Use double quotation marks for the query.
Notas:
La coincidencia de prefijos no es compatible con caracteres chinos.
En la coincidencia de prefijos, encierre la consulta entre comillas dobles.
Coincidencia de sufijos
Introducción: La búsqueda por sufijo recupera el contenido que termina con un sufijo determinado.
Ejemplo:
# The suffix identifier for fuzzy search is '$'. To search for phone numbers that end with 9527,
# write the query as "9527$". Note: Use double quotation marks for the query.
Notas:
La coincidencia de sufijos no es compatible con caracteres chinos.
En la coincidencia de sufijos, encierre la consulta entre comillas dobles.
Búsqueda de un solo carácter o una sola letra
Introducción: La búsqueda difusa admite búsquedas de un solo carácter o una sola letra. Este método se usa sobre todo para aumentar la recuperación de documentos, aunque los resultados podrían no ser muy precisos.
Ejemplo:
# The document content is: 'Open Search open search'
query=default:'放' or query=default:'o' retrieves the document
Consulta de frases
Introducción: Una consulta de frases utiliza comillas dobles para imponer el orden de los términos. Solo puede contener letras y números consecutivos.
Ejemplo:
# 1. query=default:"OpenSearch"
# This only retrieves documents that contain "xxxOpenSearchxxx". It does not retrieve documents like "xxxSearchOpenxxx".
# 2. query=default:"HuaweiP"
# This cannot retrieve a document like "HuaweiP20", because it violates the rule that "Only consecutive letters and numbers can be used in a phrase query".
# For this scenario, use single quotation marks for the query.
Notas:
Use comillas dobles en las consultas de frases.
Las consultas de frases devuelven resultados más precisos y reducen la cantidad de documentos recuperados, pero consumen más recursos del sistema. Para estos casos, considere utilizar el analizador chinese.
La búsqueda difusa está diseñada para escenarios donde la intención de búsqueda no es clara o cuando se desean obtener más resultados de un conjunto pequeño de datos. Por ello, use comillas simples en todas las consultas, excepto en las búsquedas por pinyin, por prefijo, por sufijo y de frases.
Límites
Cuando cree una aplicación, establezca el tipo short_text para el campo que requiere búsqueda difusa y asígnele un analizador difuso. De forma predeterminada, los resultados de la búsqueda difusa se ordenan según la posición del término coincidente dentro del campo. Por ejemplo, suponga que el campo title de una aplicación requiere búsqueda difusa. Si el Documento 1 contiene "OpenSearch" y el Documento 2 contiene "I like to use OpenSearch", una búsqueda de "kfss" posicionará de forma predeterminada al Documento 1 por encima del Documento 2. La búsqueda difusa funciona bien cuando la intención de búsqueda no es clara, pero tenga en cuenta los siguientes límites:
Las búsquedas por prefijo y por sufijo solo son compatibles con letras del alfabeto inglés, números y pinyin. No admiten caracteres chinos.
Los signos de puntuación de un campo short_text se filtran.
Una vez filtrada la puntuación, el contenido de un campo short_text se limita a 100 bytes. Cualquier contenido que supere este límite se descarta.
Un campo short_text admite sugerencias de listas desplegables.
Los índices creados a partir de un campo short_text no pueden usar el análisis de consultas.
Si un campo short_text usa únicamente un analizador difuso y ningún otro analizador lo indexa, los caracteres de ancho completo del campo se convierten en caracteres de medio ancho en el resumen recuperado. Para evitarlo, cree un índice nuevo que utilice el analizador chinese.
No se admite el resaltado para letras del alfabeto inglés, números ni pinyin.