Es común que una organización tenga terminología única o varias maneras de referirse a un concepto o a un objeto. Debes definir sinónimos para establecer la equivalencia de términos a fin de ayudar a los usuarios a encontrar elementos en una búsqueda.
Los sinónimos se definen por elementos de índice con el _dictionaryEntry
conocido
.
Los elementos de tipo _dictionaryEntry
pueden tener las siguientes propiedades:
Propiedad | Tipo | Descripción | ¿Obligatorio? |
---|---|---|---|
_term |
string | El término que se desea definir. Los valores recomendados son palabras sin guiones o frases sin puntuación. | Obligatorio |
_synonym |
string (repeated) | Los términos alternativos que se incluirán en las consultas y que coinciden con la cadena definida en _term . |
Obligatorio |
_onlyApplicableForAttachedSearchApplications |
boolean | Te permite agrupar sinónimos por fuente de datos y aplicación de búsqueda. Para obtener más información, consulta Define sinónimos específicos de la fuente de datos. | Opcional |
Cuando un usuario incluye el valor de la propiedad _term
en una consulta,
la consulta eficaz se convierte en “término OR sinónimos”. Por ejemplo, si el
el término "scifi" se define con el sinónimo
"science fiction" y, luego, una consulta
que contiene la palabra "scifi" coincide con los elementos que contienen
"scifi"
o "science fiction."
Los sinónimos no se aplican de manera bidireccional. Si, en cambio, la consulta es para "science fiction," Cloud Search no aplica ningún sinónimo a la consulta. La consulta solo hace coincidir elementos que contienen "science fiction." elementos que contienen Se omiten "scifi".
Para hacer que los términos sean intercambiables, define cada uno por separado:
Término | Sinónimos |
---|---|
scifi | science fiction |
science fiction | scifi |
Durante el procesamiento de las consultas, la separación de palabras y otros signos de puntuación se quitan antes
para aplicar sinónimos. La consulta del usuario "sci-fi"
coincide con _term
"sci fi."
Para crear sinónimos para términos a los que los usuarios separaron con guiones, primero normaliza
el _term
para usar espacios en blanco en lugar de guiones.
Para continuar con el ejemplo, las siguientes definiciones coinciden con las consultas del usuario que tratan "sci-fi," "sci fi," "scifi," y "science fiction" como intercambiables:
Término | Sinónimos |
---|---|
scifi | science fiction, sci fi |
sci fi | science fiction, scifi |
science fiction | scifi, sci fi |
De forma predeterminada, los sinónimos en cualquier fuente de datos se aplican en todo el dominio. Específicamente, los sinónimos se aplican en todas las aplicaciones de búsqueda para todas las búsquedas sin importar la fuente de datos. Si quieres sinónimos específicos de la fuente de datos, consulta a Define sinónimos específicos de la fuente de datos.
Define sinónimos globales con el SDK de Cloud Search
Puedes usar el conector de contenido de SDK para definir los términos y sus sinónimos. Consulta Crea un conector de contenido a fin de obtener instrucciones para compilar un conector.
En el siguiente fragmento, se ilustra la compilación de un
RepositoryDoc
que representan el término y el sinónimo según un registro de archivo CSV:
Ten en cuenta lo siguiente cuando definas sinónimos:
- Las entradas de sinónimos tienen que ser de dominio público. En el ejemplo anterior, eso se logra mediante la configuración de la LCA en
DOMAIN_PUBLIC_ACL
. - Las siguientes propiedades no deben definirse para el archivo de configuración.
ya que anulan la configuración pública del dominio en tu código:
defaultAcl.mode=FALLBACK
defaultAcl.public=true
Define sinónimos específicos de la aplicación de búsqueda
De forma predeterminada, los sinónimos se aplican a todas las fuentes de datos en todas las búsquedas. aplicaciones.
Sin embargo, supongamos que su organización tiene equipos de ingeniería y ventas independientes, y
debes proporcionar a cada equipo
una experiencia de búsqueda diferente,
sinónimos específicos del puesto. En este caso, podrías crear una búsqueda
con una fuente de datos específica de ingeniería y sinónimos, y otra
una aplicación de búsqueda con una fuente de datos específica de ventas y sinónimos. Para lograr
para este objetivo, indexar cada sinónimo en una fuente de datos específica
usando _onlyApplicableForAttachedSearchApplications=true
. Esta
configuración limita los sinónimos de modo que solo se apliquen a la búsqueda
aplicaciones que incluyen
una fuente de datos específica.
Por ejemplo, agregar el la siguiente línea de código a la muestra de código anterior garantiza que los sinónimos indexados específicas de la fuente de datos:
structuredData.put("_onlyApplicableForAttachedSearchApplications", true);