Sería bueno tener un recuento de elementos sin tener que hacer una búsqueda como¿Hay alguna manera de contar todos los elementos de un índice en ElasticSearch o Tire?
Obj.search("id:*").count
Es esto posible?
Sería bueno tener un recuento de elementos sin tener que hacer una búsqueda como¿Hay alguna manera de contar todos los elementos de un índice en ElasticSearch o Tire?
Obj.search("id:*").count
Es esto posible?
Primero, debe usar la consulta match_all
: MyModel.search({ query { all } }).results.total
. (En Lucene, evite las consultas con comodines a toda costa).
Actualmente, Tyre no expone la API de "recuento". Eso cambiará
En Elasticsearch puede contar con todos los elementos mediante la API de recuento
curl -XGET http://localhost:9200/index/_count
Ver las Count API documentos en su sitio.
Acabo de recibir una pista de Karmi. La cuenta API está disponible ahora.
Usted puede hacer lo siguiente:
s = Tire.search 'articles-test', :search_type => 'count' do
query { term :tags, 'ruby' }
end
Sólo entonces se define s.results.total
.
Ver aquí: https://github.com/karmi/tire/blob/master/test/integration/count_test.rb
Si desea obtener el número de documentos en el índice, se puede también acaba de comprobar index stats, así:
curl -XGET localhost:9200/_stats
En consecuencia obtendrá número de docs/borrados documentos (documentos aún no fusionados).
Desde la consola:
Model.search("*:*").results.total
tal vez ayudar a alguien;)
Usted puede hacer esto en el elasticsearch-model
joya así:
Article.search("cats", search_type: 'count').results.total
# => 2026
Y no causará una zona de alcance. ..
Article.search("cats", search_type: 'count').map {|r| r.title}
# => []
¿No está el recuento q uery disponible en el neumático? – Karussell