2012-07-13 9 views
5

Me encontré con un problema en el que una de las columnas tiene varios valores. por ejemplo: valor puede ser (11,22) (11,33) (11,55), (22,44), (22,99)Agrupamiento de atributos multivalor en SOLR

Quiero realizar una operación de agrupación que producirá:

  • 11: COUNT 3
  • 22: COUNT 3
  • 33: 1
  • 44: 1
  • 55: 1
  • 99: 1

Respuesta

4

Una forma indirecta de lograr esto es copiar todos los valores correspondientes a este campo con el espacio o algún otro carácter entre ellos en un campo de texto y luego tokenize este campo con ese personaje (usando whitespace tokenizer en caso de espacios) . Entonces puedes usar group by y creo que esto debería funcionar.

+0

cómo podemos hacer esto. soy un novato :-( me puede dar un ejemplo –

+0

creo que debe estar usando algún script para hacer la indexación de solr .. digamos que el campo que describe aquí es 'kid_multivaued', entonces lo que quiero decir es que usted crear otro campo durante la indexación, digamos 'kid_combined' con todos los valores de' kid_multivalued' copiado a 'kid_combined' con un espacio en blanco entre ellos, por lo que si' kid_multivalued' es '(11,55)' kid_combined se convertirá en '11 55' y este kid_combined debe ser tokenizado usando whitesapce tokenizer, que se puede configurar dentro de su definición de tipo de campo, en schema.xml, luego si intenta agrupar utilizando este campo, puede obtener los resultados deseados –

+0

¿me puede dar un enlace para solr? documentación. no puedo encontrar ninguna buena información en línea –

4

El campo multivalor no se puede agrupar en Solr todavía.

Documentation: -

Soporte para agrupar en un campo de múltiples valores aún no ha sido implementado .

+0

Ha pasado un tiempo, ¿Solr 4.8.x admite esta función? – wakeup

+0

@wakeup: ¡No, AFAIK! –

Cuestiones relacionadas