2014-11-29 12 views
9

Ciao sono nuovo in Elastic Search e voglio usarlo con scala così ho trovato alcuni esempi di codici su github, ma ci sono stati esempi molto complessi come per un principiante I passare tutta la giornata a cercare di capire this tutorial ma alla fine io sono confuso come avviare questo è, la sua molto complessa da capire come con altri esempi di client Scalacome iniziare con Elastic Search utilizzando il client di scala

  1. https://github.com/scalastuff/esclient
  2. https://github.com/bsadeh/scalastic
  3. https://github.com/gphat/wabisabi anche ho provato questo ma contiene errore e l'ho postato lei e così https://stackoverflow.com/questions/27145015/scalagetstatuscode-getresponsebody-is-not-a-member-of-dispatch-future

Tutti questi esempi sono molto complesse per un nuovo studente come me mentre vado attraverso first chapter of Elastic Search from its guide poi voglio fare queste stesse cose pro-grammaticalmente con Scala.Please me suggerire qualche punto di partenza da dove può Comincio ad imparare e anche c'è una richiesta non contrassegnare questa domanda come non costruttiva prima ho provato me stesso dopo di che sto postando questa domanda, per favore ho bisogno di aiuto voglio imparare ricerca elastica usando scala

+1

Che cosa hai provato in particolare e perché non ha funzionato? – Ryan

+0

L'esempio di elastic4s su github è molto complesso per i principianti fino a prima ho cercato di cedere un indice, quindi ho inserito nel suo codice per la creazione dell'indice ci sono migliaia di righe di codice che ho confuso su dove avviarlo ,,, e mentre searchig altri esempi su internet non sono riuscito a trovare alcun tutorial utile per scala usando la ricerca elastica – swaheed

+0

Immagino che il readme di elastic4s sia rivolto a persone che conoscono elasticsearch (o che possono apprenderlo da elasticsearch.org) ed è invece focalizzato su come il driver scala differisce dal driver java. – monkjack

risposta

12

Il progetto Elastic4s contiene, vicino la parte superiore del readme, un semplice esempio su come utilizzare il driver. Questo esempio è un programma Scala completo che puoi eseguire.

import com.sksamuel.elastic4s.ElasticClient 
import com.sksamuel.elastic4s.ElasticDsl._ 

object Test extends App { 

    val client = ElasticClient.local 

    // await is a helper method to make this operation sync instead of async 
    // You would normally avoid doing this in a real program as it will block 
    client.execute { index into "bands/artists" fields "name"->"coldplay" }.await 

    val resp = client.execute { search in "bands/artists" query "coldplay" }.await 
    println(resp) 

} 

Se questo è troppo complicato, allora questo non è perché il client Scala è troppo complicato, ma perché non abbiamo ancora capito abbastanza elasticsearch o Scala. Il client Scala che stai guardando è un tipico DSL, quindi usa alcuni trucchi Scala che lo rendono piacevole da usare come client, ma non necessariamente facile da capire sotto le copertine.

Qui ci sono alcuni buoni collegamenti per comprendere elasticsearch:

Prima di utilizzare qualsiasi dei driver Scala, si dovrebbe Comprendere almeno i concetti di base di un indice/tipo, la query DSL e cos'è un nodo in Elasticsearch. Potrebbe anche essere utile esaminare il JSON che è possibile inviare con l'interfaccia HTTP poiché è un po 'più facile vedere cosa sta succedendo, perché all'inizio i documenti di Elasticsearch possono essere pesanti.

Problemi correlati