2014-11-29 8 views
9

Witam jestem nowy w Elastic Search i chcę go używać ze scala, więc znalazłem kilka przykładów kodów na github, ale podano bardzo złożone przykłady dla początkującego I spędzić cały mój dzień, starając się zrozumieć this tutorial ale w końcu jestem zdezorientowany jak zacząć to jest jego bardzo trudne do zrozumienia tak samo jak w przypadku innych przykładów klienckich Scalajak zacząć z Elastic Search przy użyciu klienta scala

  1. https://github.com/scalastuff/esclient
  2. https://github.com/bsadeh/scalastic
  3. https://github.com/gphat/wabisabi także próbowałem tego, ale zawiera błąd i opublikowałem ją e jak dobrze https://stackoverflow.com/questions/27145015/scalagetstatuscode-getresponsebody-is-not-a-member-of-dispatch-future

Wszystkie te przykłady są bardzo skomplikowane dla nowego ucznia jak ja, jak przejść przez first chapter of Elastic Search from its guide to chcę robić te same rzeczy pro-gramatycznego z Scala.Please zaproponować mi jakiś punkt wyjścia, z których można zaczynam się uczyć, a także jest prośba, nie oznaczaj tego pytania jako niekonstruktywne Najpierw próbowałem siebie po tym zamieszczam to pytanie, Proszę potrzebuję pomocy Chcę nauczyć się elastycznego wyszukiwania przy użyciu scala

+1

Co konkretnie wypróbowałeś i dlaczego to nie zadziałało? – Ryan

+0

Przykład elastic4s na githubie jest bardzo skomplikowany dla początkujących, aby undersatnd najpierw stał się indeksem, a następnie zapisałem się do jego kodu do stworzenia indeksu, są tysiące linii kodu, nie wiem od czego zacząć, i podczas wyszukiwania inne przykłady w Internecie nie mogłem znaleźć żadnego przydatnego samouczka dla scala za pomocą elastycznego wyszukiwania – swaheed

+0

Domyślam się, że readme elastic4s jest skierowane do osób, które znają elastyczne wyszukiwanie (lub mogą uczyć się od elasticsearch.org), a zamiast tego skupiają się na tym, jak sterownik scala różni się od sterownika java. – monkjack

Odpowiedz

12

Projekt Elastic4s zawiera, w pobliżu początek readme, prosty przykład na temat korzystania ze sterownika. Ten przykład to kompletny program Scala, który możesz wykonać.

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) 

} 

Jeśli jest to zbyt skomplikowane, to nie dlatego, że klient Scala jest zbyt skomplikowana, ale dlatego, że nie rozumieją jeszcze wystarczająco dużo o Elasticsearch lub Scala. Klient Scala, którego szukasz, jest typowym DSL, więc używa niektórych sztuczek Scala, które sprawiają, że jest przyjemny w użyciu jako klient, ale niekoniecznie łatwe do zrozumienia pod osłonami.

Oto kilka dobrych linków do zrozumienia Elasticsearch:

Przed użyciem któregokolwiek z kierowców Scala, należy w najmniej rozumiem podstawowe pojęcia indeks/typ, zapytanie DSL i to, co jest węzłem w Elasticsearch. Warto również przyjrzeć się JSON-owi, który można wysyłać za pomocą interfejsu HTTP, ponieważ jest nieco łatwiej zobaczyć, co się dzieje, ponieważ dokumenty Elasticsearch mogą na początku być ciężkie.