GithubHelp home page GithubHelp logo

jest's Introduction

Jest

Build Status Maven Central

Jest is a Java HTTP Rest client for ElasticSearch.

ElasticSearch is an Open Source (Apache 2), Distributed, RESTful, Search Engine built on top of Apache Lucene.

ElasticSearch already has a Java API which is also used by ElasticSearch internally, but Jest fills a gap, it is the missing client for ElasticSearch Http Rest interface.

Read great introduction to ElasticSearch and Jest from IBM Developer works.

Documentation

For the usual Jest Java library, that you can use as a maven dependency, please refer to the README at jest module.

For the Android port please refer to the README at jest-droid module.

Create new release

Required steps to create a new release and publish it on maven central.

  1. mvn -DnewVersion="2.4.12+jackson" versions:set versions:commit - set the release version
  2. git add -u - stage modified pom.xml files for commit
  3. git commit -m 'Set release version 2.4.12+jackson' - commit the new release version
  4. git tag v2.4.12+jackson-graylog - create new release tag
  5. mvn -Psign-artifacts clean install deploy - build, sign and deploy the artifacts
  6. mvn -DnewVersion="2.4.13+jackson-SNAPSHOT" versions:set versions:commit - set the new development version
  7. git add -u - stage modified pom.xml files for commit
  8. git commit -m 'Set version 2.4.13+jackson-SNAPSHOT' - commit the new version
  9. git push - push changes to GitHub
  10. git push --tags - push created tags to GitHub

Make sure you have a working GPG setup to sign the artifacts and you have valid sonatype credentials for the ossrh serverId in your ~/.m2/settings.xml.

Compatibility

Jest Version Elasticsearch Version

= 2.0.0 | 2.0 0.1.0 - 1.0.0 | 1.0 <= 0.0.6 | < 1.0

Also see changelog for detailed version history.

Support and Contribution

All questions, bug reports and feature requests are handled via the GitHub issue tracker which also acts as the knowledge base. Please see the Contribution Guidelines for more information.

Comparison to native API

There are several alternative clients available when working with ElasticSearch from Java, like Jest that provides a POJO marshalling mechanism on indexing and for the search results. In this example we are using the Client that is included in ElasticSearch. By default the client doesn't use the REST API but connects to the cluster as a normal node that just doesn't store any data. It knows about the state of the cluster and can route requests to the correct node but supposedly consumes more memory. For our application this doesn't make a huge difference but for production systems that's something to think about. -- Florian Hopf

So if you have several ES clusters running different versions, then using the native (or transport) client will be a problem, and you will need to go HTTP (and Jest is the main option I think). If versioning is not an issue, the native client will be your best option as it is cluster aware (thus knows how to route your queries and does not need another hop), and also moves some computation away from your ES cluster (like merging search results that will be done locally instead of on the data node). -- Rotem Hermon

ElasticSearch does not have Java rest client. It has only native client comes built in. That is the gap. You can add security layer to HTTP but native API. That is why none of SAAS offerings can be used with native api. -- Searchly

Thanks

Thanks to JetBrains for providing a license for IntelliJ IDEA to develop this project.

We also would like to thank the following people for their significant contributions.

Copyright and License

Copyright 2013 www.searchly.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

jest's People

Contributors

ferhatsb avatar andrejserafim avatar lorthos avatar dogukansonmez avatar nitram509 avatar bdharrington7 avatar bartekbp avatar happyprg avatar bernd avatar igor-kupczynski avatar gilbode avatar asafalima avatar sehkunde avatar bobby-garmin avatar kroepke avatar markwoon avatar naorgu avatar gsmet avatar matthewbogner avatar fbaligand avatar filippor avatar jeehonglee avatar tootedom avatar asierdelpozo avatar yrodiere avatar seamuskc avatar nigelzor avatar mincha avatar hippegger avatar leviwilson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.