2009-11-17 12 views

Respuesta

16

Normalmente esto se hace con el SpellCheckComponent, que internamente usa el Lucene SpellChecker de forma predeterminada, que implementa Levenshtein.

El wiki realmente explica muy bien cómo funciona, cómo configurarlo y qué opciones están disponibles, no tiene sentido repetirlo aquí.

O simplemente podría usar Lucene's fuzzy search operator.

Otra opción es utilizar un phonetic filter en lugar de Levenshtein.

+0

Mauricio, ¿podría verificar los dos enlaces al operador de búsqueda difusa y el filtro fonético? ambos parecen estar rotos. ¡Gracias! – reto

3

Gran respuesta de Mauricio, mi única adición "cheapo" es simplemente agregar el carácter ~ a todos los términos que desee para la coincidencia difusa en el camino a Solr. Si está utilizando la configuración predeterminada, esto le dará una coincidencia difusa.

+0

@MattMcKnight: Quiero hacer la misma medida de distancia en solr pero ** ~ ** no funciona en la mía .. Intenté usar **? Q = term: "apple" ~ 2 ** Cualquier ayuda – iNikkz

+0

@iNikkz If pones comillas alrededor de Apple, creo que se convierte en una consulta de frase, por lo que ~ 2 significa búsqueda de proximidad, en lugar de editar distancia. Intente omitir las comillas – MattMcKnight

+0

@MattMcKnight: Intenté eliminar las comillas, pero arroja demasiados resultados porque he utilizado el filtrado fonético tanto en el índice como en la consulta. He pegado mi pregunta aquí - [http://stackoverflow.com/questions/27484326/getting-most-likely-documents-of-the-query-using-phonetic-filter-in-solr]. ¿Me ayudarás por favor? – iNikkz

Cuestiones relacionadas