2012-01-25 20 views
5

Implementé Solr SpellCheck Component en base al documento de http://wiki.apache.org/solr/SpellCheckComponent, funciona bien. Pero estoy tratando de filtrar el resultado de la revisión ortográfica según otro filtro. Considere el siguiente esquemaSolr Spell Check consulta de filtro basada en resultados

product_name 
product_text 
product_category 
product_spell -> copy string from product_name and product_text . And tokenized using white space analyzer 

Para el esquema anterior, estoy tratando de filtrar el resultado de la revisión ortográfica en función de la categoría proporcionada. Intenté consultar como http://127.0.0.1:8080/solr/colr1/myspellcheck/?q=product_category:160%20appl&spellcheck=true&spellcheck.extendedResults=true&spellcheck.collate=true. Los resultados de la revisión ortográfica no consideran la categoría del producto: 160

¿Es porque el diccionario fue construido para todas las categorías? Si es así, ¿es una buena idea crear el diccionario para cada categoría?

¿No es posible tener otra condición de filtro en el componente de revisión ortográfica?

estoy usando Solr 3.5

Respuesta

6

que previamente entendido del tema SOLR-2010 que la filtración a través del parámetro fq debería ser posible utilizar el cotejo, pero no lo es, creo que no he entendido bien.

De hecho, el SpellCheckComponent tiene muy probablemente un índice separado, a excepción de la implementación DirectoSolrSpellChecker. Significa que el campo que selecciona está indexado en un índice diferente, que contiene solo la información sobre ese campo específico que eligió para realizar las correcciones ortográficas.

Si tiene curiosidad, también puede ver cómo se ve el índice adicional usando luke, ya que es, por supuesto, un índice lucene. Desafortunadamente, filtrar usando otros campos no es una opción allí, simplemente porque solo hay un campo allí, el que usa para hacer correcciones ortográficas.

+0

Exactamente !!! Siento lo mismo. –

+0

Escribí en la lista de correo de solr-usuario para asegurarme, pero aún no he recibido una respuesta. De todos modos, eché un vistazo al código, el parámetro 'fq' ni siquiera se lee, y eché un vistazo al índice con luke: no contiene suficiente información para hacer filtros. – javanna

+0

sí de acuerdo con el índice, nuestro hallazgo es correcto. por favor avíseme si recibe alguna respuesta de la lista de correo de usuario solrista –

Cuestiones relacionadas