ruby-on-rails gem - Búsqueda elástica:cómo ver los datos indexados




elasticsearch model (7)

Tuve un problema con ElasticSearch and Rails, donde algunos datos no se indexaron correctamente debido a attr_protected. ¿Dónde almacena Elastic Search los datos indexados? Sería útil verificar si los datos indexados reales son incorrectos.

Comprobar el mapeo con el mapeo de Tire.index('models').mapping No ayuda, el campo está en la lista.


Answers

Absolutamente la forma más fácil de ver sus datos indexados es verlos en su navegador. No se necesitan descargas o instalación.

Voy a suponer que tu host de búsqueda elástica es http://127.0.0.1:9200 .

Paso 1

Navegue a http://127.0.0.1:9200/_cat/indices?v para listar sus índices. Verás algo como esto:

Paso 2

Intente acceder al índice deseado: http://127.0.0.1:9200/products_development_20160517164519304

La salida se verá algo como esto:

Observe los aliases , lo que significa que también podemos acceder al índice en: http://127.0.0.1:9200/products_development

Paso 3

Navega a http://127.0.0.1:9200/products_development/_search?pretty=1 para ver tus datos:


Siguiendo el ejemplo de @JanKlimo, en el terminal todo lo que tienes que hacer es:

para ver todo el índice: $ curl -XGET 'http://127.0.0.1:9200/_cat/indices?v'

para ver el contenido de Index products_development_20160517164519304 : $ curl -XGET 'http://127.0.0.1:9200/products_development_20160517164519304/_search?pretty=1'



Probablemente la forma más sencilla de explorar su clúster ElasticSearch es usar elasticsearch-head .

Puede instalarlo haciendo:

cd elasticsearch/
./bin/plugin -install mobz/elasticsearch-head

Luego (suponiendo que ElasticSearch ya se está ejecutando en su equipo local), abra una ventana del navegador para:

http://localhost:9200/_plugin/head/

Alternativamente, puede usar curl desde la línea de comando, por ejemplo:

Compruebe la asignación de un índice:

curl -XGET 'http://127.0.0.1:9200/my_index/_mapping?pretty=1' 

Obtenga algunos documentos de muestra:

curl -XGET 'http://127.0.0.1:9200/my_index/_search?pretty=1' 

Vea los términos reales almacenados en un campo particular (es decir, cómo se ha analizado ese campo):

curl -XGET 'http://127.0.0.1:9200/my_index/_search?pretty=1'  -d '
 {
    "facets" : {
       "my_terms" : {
          "terms" : {
             "size" : 50,
             "field" : "foo"
          }
       }
    }
 }

Más disponible aquí: http://www.elasticsearch.org/guide

ACTUALIZACIÓN: Sense plugin en Marvel

Con mucho, la forma más sencilla de escribir comandos de estilo curl para Elasticsearch es el complemento Sense en Marvel .

Viene con resaltado de fuente, sangría bonita y autocompletar.

Nota: Marvel .


Una herramienta que me ayuda mucho a depurar ElasticSearch es ElasticHQ . Básicamente, es un archivo HTML con algo de JavaScript. No es necesario instalarlo en ningún lugar, ni mucho menos en el propio ES: simplemente descárguelo, descomprima int y abra el archivo HTML con un navegador.

No estoy seguro de que sea la mejor herramienta para usuarios intensivos de ES. Sin embargo, es realmente práctico para quien tenga prisa ver las entradas.



Puede pasar algunas opciones a number_to_currency (un asistente de vista estándar de Rails 4):

number_to_currency(12.0, :precision => 2)
# => "$12.00"

Según lo publicado por Dylan Markow





ruby-on-rails elasticsearch attr-protected