elasticsearch insérer des objets dans l'index
Je suis nouveau sur elasticsearch et à la recherche d'un peu d'aide sur l'utilisation de l'API Java. J'ai quelques objets du domaine
E. g.
@XmlRootElement
public class BasicActivity {
private String activityName;
private FullActivity activity;
//Getters and setters
}
J'ai créé un transport client connecté à un nœud
Client client = new TransportClient()
.addTransportAddress(new InetSocketTransportAddress("192.168.0.198",9300));
Est là et facile pour insérer mon objet directement dans elasticsearch?
J'ai vu cette
IndexResponse response = client.prepareIndex("twitter", "tweet", "1")
.setSource(jsonBuilder()
.startObject()
.field("user", "kimchy")
.field("postDate", new Date())
.field("message", "trying out Elastic Search")
.endObject()
)
.execute()
.actionGet();
Mais à faire ce que j'aurais à convertir chaque objet en json, qui, bien que possible, n'est pas de ma situation idéale.
Si j'ai une mauvaise compréhension de la façon dont il fonctionne (architecture) alors s'il vous plaît laissez-moi savoir, je suis ici pour apprendre!
cheers,
Rob
source d'informationauteur Rob
Vous devez vous connecter pour publier un commentaire.
Je pense que vous êtes sur la bonne voie. L'API Java peut être difficile à obtenir à la fois lorsque vous n'y êtes pas habitué. Je pense que avec le temps ça ira mieux.
Vous n'avez pas à convertir vos objets Json pour les envoyer à votre cluster ElasticSearch. Gson est l'une des nombreuses bibliothèques populaires là-bas qui peut le faire pour vous.
Le code vous montrer ci-dessus va créer un index. Maintenant, pour ajouter un document à cet indice, exécuter quelque chose comme ceci.
Découvrez BulkRequest pour l'indexation de plusieurs éléments à la fois. Une fois vos objets deviennent plus complexes, vous aurez besoin de créer Mappages.
J'ai trouvé beaucoup d'exemples dans le Guidemais généralement plus d'exemples détaillés dans le ES du Groupe Google.
J'ai de recommander la Tête avant la fin, trop. Il vous montre les indices existants et les éléments.