2012-01-14 15 views
10

Estoy tratando de establecer algunos sinónimos básicos en Solr. El que yo he estado trabajando es:Cómo hacer que los sinónimos de solr funcionen

nosotros, los eeuu, estados unidos

Mi entendimiento es que agregó que en el fichero de sinónimos permitirá a los usuarios buscar los Estados Unidos, y volver documentos que contienen EE.UU. o Reino estados. Lo mismo si un usuario usa estados unidos o estados unidos.

Lamentablemente, con esto en su lugar, cuando realizo una búsqueda, obtengo los resultados de los elementos que contienen las tres palabras, está haciendo una AND de los sinónimos en lugar de una OR.

Si enciendo la depuración, esto es precisamente lo que veo (además de algunos derivados):

(+DisjunctionMaxQuery(((westCite:us westCite:usa westCite:unit) | (text:us text:usa text:unit) | (docketNumber:us docketNumber:usa docketNumber:unit) | ((status:us status:usa status:unit)^1.25) | (court:us court:usa court:unit) | (lexisCite:us lexisCite:usa lexisCite:unit) | ((caseNumber:us caseNumber:usa caseNumber:unit)^1.25) | ((caseName:us caseName:usa caseName:unit)^1.5))))/no_coord

¿Estoy haciendo algo mal para causar esto? Mi defaultOperator está configurado en AND, pero espero que el filtro de sinónimos lo entienda.

Respuesta

2

Para una mejor comprensión de sinónimo de búsqueda, tendremos paso a paso el proceso de aplicación (estoy usando Solr 6.5 * Versión.):

Paso 1:

Descargar archivo country-synonyms.txt texto y colocarlo en ruta siguiente:

Ruta: \ Solr-6.5.1 \ servidor \ Solr \ yourCore \ conf

yourCore: Nombre del núcleo debe ser convenientemente modificado

Paso 2:

Agregar Tipo de campo en archivo de esquema administrado en el mismo camino mencionado anteriormente:

Paso 3: Añadir su campo (nacionalidad) con el tipo país en mismo archivo (esquema administrado).

<field name="Nationality" type="country" indexed="true" stored="true"/> 

Paso 4: Restart Solr.

solr restart -p <your solr port> 

Paso 5:.

Ahora importar sus datos con el campo que contiene nacionalidad ***

Paso 6:

Ahora pregunta con los casos por debajo y prueba :

consulta:

  1. Nacionalidad: US
  2. Nacionalidad: EE.UU.
  3. Nacionalidad: Estados Unidos
  4. Nacionalidad: Estados Unidos de América

Todas las preguntas anteriores le dará el mismo resultado.

Nota: *** Importar datos solo después de realizar los pasos anteriores, incluido el reinicio del solr. Es posible que no funcione en los datos existentes (para obtener más información, consulte: AnalyzersTokenizersTokenFilters)

Cuestiones relacionadas