Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Bodybuilder | 1,218 | 105 | 58 | a month ago | 65 | May 21, 2022 | 9 | mit | JavaScript | |
An elasticsearch query body builder :muscle: | ||||||||||
Elastic Builder | 460 | 16 | 16 | 13 days ago | 58 | June 05, 2021 | 16 | mit | JavaScript | |
A Node.js implementation of the elasticsearch Query DSL :construction_worker: | ||||||||||
Esquery | 222 | a year ago | 7 | apache-2.0 | Go | |||||
An idiomatic Go query builder for ElasticSearch | ||||||||||
Elasticshell | 106 | 8 years ago | 13 | apache-2.0 | Java | |||||
A javascript shell for elasticsearch | ||||||||||
Elasticquery | 78 | 2 years ago | 53 | December 15, 2021 | 3 | mit | Python | |||
A simple (Python) query builder for Elasticsearch | ||||||||||
Wpes Lib | 67 | 3 years ago | gpl-2.0 | PHP | ||||||
WordPress-Elasticsearch Lib | ||||||||||
Q Builders | 48 | 4 | 2 | 2 years ago | 7 | June 23, 2017 | 2 | mit | Java | |
Type safe database agnostic query builders. | ||||||||||
Fast Elasticsearch Query Builder | 47 | 4 years ago | apache-2.0 | Java | ||||||
A fast way to build ElasticSearch query string, even without writing implement code. | ||||||||||
Spring Data Elasticsearch | 47 | 7 years ago | 2 | HTML | ||||||
:cn:Spring-Data-Elasticsearch官方文档的中文翻译版本,翻译不好请见谅,欢迎提issue | ||||||||||
Elasticsearch Query Builder | 37 | a month ago | 2 | mit | PHP | |||||
Build query for an ElasticSearch client using a fluent interface |
Inspired by FOSElasticaBundle and Doctrine to create a query builder for ElasticSearch.
composer require "mapado/elastica-query-bundle:1.*"
# app/config/config.yml
mapado_elastica_query:
clients:
client_name:
host: elasticsearch.example.com
port: 9200
timeout: 3
indexes:
twitter:
# (optional, default to 'twitter') index_name: twitter_v1
client: client_name
types:
tweet: ~
document_managers:
tweety:
type: mapado.elastica.type.twitter.tweet
# data_transformer: my.model.transformer #optional, must implements Mapado\ElasticaQueryBundle\DataTransformer\DataTransformerInterface
# query_builder_classname: Acme\\Demo\\QueryBuilder\\TweetyQueryBuilder # @see "Overide Query Builder" section
$client = $this->get('mapado.elastica.client.client_name'); // return a \Elastica\Client object
$index = $this->get('mapado.elastica.index.twitter'); // return a \Elastica\Index object
$type = $this->get('mapado.elastica.type.twitter.tweet'); // return a \Elastica\Type object
You can fetch basic Elastica objects just by doing this:
$documentManager = $this->get('mapado.elastica.document_manager.tweety'); // return a \Mapado\ElasticaQueryBundle\DocumentManager
$queryBuilder = $documentManager->createQueryBuilder();
$queryBuilder->addQuery(new \Elastica\Query\Term(['field' => 'value']))
->addFilter(new \Elastica\Filter\Term(['field' => 'value']));
->setMaxResults(20)
->setFirstResults(40);
$tweets = $queryBuilder->getResult(); // return a \Mapado\Elastica\Model\SearchResult
You can override querybuilder doing this is your config file:
mapado_elastica_query:
# ...
document_managers:
tweety:
type: mapado.elastica.type.twitter.tweet
query_builder_classname: 'Acme\Demo\QueryBuilder\TweetyQueryBuilder'
The QueryBuilder class must inherit from Mapado\ElasticaQueryBundle\QueryBuilder