2011-11-01 2 views

risposta

6

In primo luogo, è necessario utilizzare la query match_all: MyModel.search({ query { all } }).results.total. (In Lucene, evitare le query con caratteri jolly a tutti i costi.)

Attualmente, Tyre non espone l'API "count". Questo cambierà.

+0

Non c'è il conteggio q disponibile in gomma? – Karussell

9

In elasticsearch si possono contare tutti gli elementi utilizzando l'API conteggio

curl -XGET http://localhost:9200/index/_count 

Vedi le Count API documentazione sul loro sito.

0

Se si vuole ottenere il numero di documenti all'interno dell'indice, si potrebbe anche solo controllare index stats, come questo:

curl -XGET localhost:9200/_stats 

Nel risultato si otterrà il numero di docs/cancellati documenti (documenti non ancora uniti).

0

Da console:

Model.search("*:*").results.total 

forse aiutare qualcuno;)

1

Si può fare questo nel elasticsearch-model gemma così:

Article.search("cats", search_type: 'count').results.total 
# => 2026 

E non causerà un recupero. ..

Article.search("cats", search_type: 'count').map {|r| r.title} 
# => []