Pregunta

Me parece que no puede encontrar la manera de encontrar coincidencias de subcadenas con SOLR, he descubierto partidos sobre la base de un prefijo para que pueda obtener el jamón para que coincida con la hamburguesa.

¿Cómo puedo obtener una búsqueda de 'hamburguesa' para que coincida con la hamburguesa así? Probé hamburguesa pero esto arrojó un error '*' o '?' No se admiten como primer carácter de WildcardQuery.

¿Cómo se puede hacer coincidir subcadenas utilizando SOLR?

¿Fue útil?

Solución

Se puede permitir esto, pero será muy ávidas de recursos (por ejemplo, buscar SuffixQuery).

Ver: http: //lucene.472066.n3 .nabble.com / Leading-Comodín-Search-td522362.html

Citando a la lista de correo: arounds trabajo? Imagínese ganar un segundo índice (o la adición de otro campo) con todos los términos deletreado al revés.

=>

https://issues.apache.org/jira/browse/ LUCENE-1398

y soporte para comodines líderes eficientes buscar: https://issues.apache.org / jira / Navegar / SOLR-1321

En el momento parece issues.apache.org abajo. Trate de usar, por ejemplo, caché de Google.

Otros consejos

Si alguien termina aquí después de buscar "apachesolr subcadena", hay una solución simple para esto: https: // Drupal .stackexchange.com / a / 27956/10419 (de https://drupal.stackexchange.com/questions/26024/how-can-i-make-search-with-a-substring-of-a-word )

  

Añadir ngramfilter al tipo de texto en la definición schema.xml en Solr config   directorio.

<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="25" />

Como se ha dicho antes en la se puede utilizar comodines principales con edismax (ExtendedDismaxQParser). Haga la prueba para ver si es lo suficientemente rápido.

Algunos más información acerca de la reversedstring mencionado anteriormente también se puede encontrar aquí: solr.ReversedWildcardFilterFactory

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top