{"id":18622561,"url":"https://github.com/mindreframer/elasticsearch-stuff","last_synced_at":"2025-08-26T07:06:18.882Z","repository":{"id":12406709,"uuid":"15060255","full_name":"mindreframer/elasticsearch-stuff","owner":"mindreframer","description":"some libs around elastic-search","archived":false,"fork":false,"pushed_at":"2014-11-18T17:39:29.000Z","size":2464,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-17T05:38:35.203Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mindreframer.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-09T21:59:38.000Z","updated_at":"2018-10-28T03:53:16.000Z","dependencies_parsed_at":"2022-09-10T13:02:12.061Z","dependency_job_id":null,"html_url":"https://github.com/mindreframer/elasticsearch-stuff","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mindreframer/elasticsearch-stuff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindreframer%2Felasticsearch-stuff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindreframer%2Felasticsearch-stuff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindreframer%2Felasticsearch-stuff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindreframer%2Felasticsearch-stuff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mindreframer","download_url":"https://codeload.github.com/mindreframer/elasticsearch-stuff/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mindreframer%2Felasticsearch-stuff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272186537,"owners_count":24888398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-26T02:00:07.904Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T04:17:33.966Z","updated_at":"2025-08-26T07:06:18.859Z","avatar_url":"https://github.com/mindreframer.png","language":"Ruby","readme":"## ElasticSearch\n  - https://www.found.no/foundation/\n    - https://www.found.no/foundation/elasticsearch-from-the-bottom-up/\n      - In other words, we can efficiently find things given term prefixes. When all we have is an inverted index, we want everything to look like a string prefix problem\n    - https://www.found.no/foundation/elasticsearch-in-production/\n    - https://www.found.no/foundation/keeping-elasticsearch-in-sync/\n\n## Introduction\n  - [Getting down and dirty with Elasticsearch - 2013.06, ca. 35 min. intro](http://www.youtube.com/watch?v=52G5ZzE0XpY) [http://www.slideshare.net/clintongormley/down-and-dirty-with-elasticsearch](Slides)\n\n\n## Ruby/Rails integration\n  Stretcher\n    - http://blog.andrewvc.com/elasticsearch-rails-stretcher-at-pose\n    - https://github.com/PoseBiz/stretcher\n  Flex\n    - https://github.com/ddnexus/flex\n    - http://ddnexus.github.io/flex/doc/7-Tutorials/1-Flex-vs-Tire.html\n\n## Tipps/Tricks\n  - [AN ELASTICSEARCH DEVELOPMENT WORKFLOW WITH CURL AND BASH, 2013.07](http://asquera.de/development/2013/07/10/an-elasticsearch-workflow/)\n\n## Performance\n  - [Blog of Zachary Tong, many good articles on ES](http://euphonious-intuition.com/category/elasticsearch/)\n  - [All about Elasticsearch Filter BitSets, 2013.06](http://euphonious-intuition.com/2013/05/all-about-elasticsearch-filter-bitsets/)\n  - [Managing Relations in ElasticSearch](http://euphonious-intuition.com/2013/02/managing-relations-in-elasticsearch/)\n\n\n## Books/Tutorials:\n  - http://exploringelasticsearch.com/\n  - http://elasticsearchserverbook.com/\n  - http://www.manning.com/hinman/\n\n\n## Happy Users\n  - [How Fog Creek Software Made Kiln's Search 1000x Faster with Elasticsearch](http://www.infoq.com/articles/kiln-elasticsearch)\n  - [Our Experience of Creating Large Scale Log Search System Using ElasticSearch, 2013.05](http://www.cubrid.org/blog/dev-platform/our-experience-creating-large-scale-log-search-system-using-elasticsearch/)\n\n## Important concepts\n\n### Ranking\n  - http://exploringelasticsearch.com/book/searching-data/ranking-based-on-similarity.html\n\n### REST API\n  - [REST API Spec](https://github.com/elasticsearch/elasticsearch-rest-api-spec) (!!!)\n  Query DSL, Filter API, Facet API, and Sort API\n\n## Slides\n  - [Terms of endearment - the ElasticSearch Query DSL explained](http://www.slideshare.net/clintongormley/terms-of-endearment-the-elasticsearch-query-dsl-explained)\n  - [SEARCH MADE EASY FOR (WEB) DEVELOPERS, 2012.03](http://spinscale.github.io/elasticsearch/2012-03-jugm.html)\n  - https://speakerdeck.com/elasticsearch\n\n### Queries:\n  - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-field-query.html\n  - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-queries.html\n  - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-match-query.html\n  - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html\n  http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html (quite powerful...)\n\n## Query-tutorials\n  - https://github.com/erlingwl/elasticsearch-tutorial\n  - [Terms of endearment - the ElasticSearch Query DSL explained](http://www.slideshare.net/clintongormley/terms-of-endearment-the-elasticsearch-query-dsl-explained)\n  - http://www.spacevatican.org/2012/6/3/fun-with-elasticsearch-s-children-and-nested-documents/\n  - http://okfnlabs.org/blog/2013/07/01/elasticsearch-query-tutorial.html\n\n### Analysis\n  http://exploringelasticsearch.com/book/searching-data/analysis.html\n  - GET /_analyze?analyzer=snowball\u0026text=candles%20candle\u0026pretty=true'\n\n### Similarity/Fuzzy\n  - http://elasticsearchserverbook.com/elasticsearch-0-90-similarities/\n\n### Stopwords Workaround -\u003e common terms query\n  http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-common-terms-query.html\n  \u003ecutoff_frequency\n\n\n### Aliases\n  - https://speakerdeck.com/kimchy/elasticsearch-big-data-search-analytics\n  - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-aliases.html\n  - https://github.com/karmi/retire/pull/92#issuecomment-6929988\n  - https://groups.google.com/forum/?fromgroups#!searchin/elasticsearch/data$20flow/elasticsearch/49q-_AgQCp8/MRol0t9asEcJ\n\n  -\u003e (we can have per user indexes with ... aliases! )\n  For this usecase, aliases really shine. You can have a single index, lets call it users, with 50 shards. And define an alias for each user. Lets say the first user is user1, you define an alias called user1. That alias can have a routing value of \"user1\", which means when you index and search against that alais (as if it was an \"index', i.e. /user1/_search), the routing value will be automatically applied. But, you still need to filter to only see that user data. For that, an alias can also be associated with a filter (i.e. a term filter on the user name with the user value). Then, every time you search against /user1/_search, the filter will be automatically applied.\n\n  One nice aspect of it is that you can also search across several aliases. For example, /user1,user2/_search (as you can search over multiple indices), and it will \"do the right thing\". It will do a search with two routing values, and an \"OR'ed\" filter.\n\n### Multilingual\n  - http://dev-blog.xoom.com/2013/12/01/natural-language-and-targeted-search-using-elastic-search/\n  - http://gibrown.wordpress.com/2013/05/01/three-principles-for-multilingal-indexing-in-elasticsearch/\n  - http://jprante.github.io/lessons/2012/05/16/multilingual-analysis-for-title-search.html\n  - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-snowball-analyzer.html\n  - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-snowball-tokenfilter.html\n\n  - https://github.com/yakaz/elasticsearch-analysis-combo\n\n### Playground for ES\n  - https://www.found.no/play/\n\n### Rivers\n  - http://jprante.github.io/guide/2012/05/26/Elasticsearch-Rivers.html\n\n## Plugins\n  - http://spinscale.github.io/elasticsearch-intro-plugins/#/37\n\n  - Inquisitor (https://github.com/polyfractal/elasticsearch-inquisitor)\n\n        $ {es_home}/bin/plugin -install bleskes/sense\n        $ open http://localhost:9200/_plugin/inquisitor\n\n  - Sense (https://github.com/bleskes/sense)\n\n        $ {es_home}/bin/plugin -install bleskes/sense\n        $ open http://localhost:9200/_plugin/sense\n\n    - https://www.found.no/foundation/Sense-Elasticsearch-interface/\n    - https://github.com/bleskes/sense#other-goodies (with Shortcuts! :)))\n\n## Tuning/Production\n  - [ElasticSearch in Production - from Found.com](http://berlinbuzzwords.de/sites/berlinbuzzwords.de/files/slides/elasticsearch-in-production-pdf-version_0.pdf)\n\n\u003c!-- PROJECTS_LIST_START --\u003e\n    *** GENERATED BY https://github.com/mindreframer/techwatcher (ruby _sh/pull elasticsearch-stuff) *** \n\n    ankane/searchkick:\n      Intelligent search made easy\n       784 commits, last change: 2014-11-11 - 08:10, 1,531 stars, 138 forks\n\n    bentona/sweatpants:\n      Redis-backed elasticsearch-ruby wrapper that aggregates requests  dispatches them as bulk requests.\n       37 commits, last change: , 1 stars, 1 forks\n\n    bleskes/sense:\n      a json aware ElasticSearch front end\n       254 commits, last change: 2014-04-01 - 10:16, 270 stars, 121 forks\n\n    brewster/elastictastic:\n      Object-document mapper and lightweight API adapter for ElasticSearch\n       331 commits, last change: 2014-09-22 - 17:55, 82 stars, 11 forks\n\n    cschuch/daedal-sl:\n\n        commits, last change: ,  stars,  forks\n\n    cschuch/daedal:\n      Ruby classes for easier ElasticSearch query building\n       61 commits, last change: , 16 stars, 4 forks\n\n    ddnexus/flex:\n      The ultimate ruby client for elasticsearch.\n       326 commits, last change: 2013-11-14 - 12:33, 63 stars, 12 forks\n\n    elastics/elastics:\n      the ultimate ruby tools for elasticsearch\n       411 commits, last change: 2014-01-17 - 15:46, 5 stars, 2 forks\n\n    elasticsearch/elasticsearch-rest-api-spec:\n      JSON specification for the Elasticsearch's REST API. Deprecated - moved into the elasticsearch/elasticsearch repo\n       317 commits, last change: 2014-01-28 - 13:29, 9 stars, 10 forks\n\n    elasticsearch/elasticsearch-ruby:\n      Ruby integrations for Elasticsearch\n       508 commits, last change: 2014-11-16 - 08:58, 625 stars, 86 forks\n\n    elbii/plunk:\n      Human-friendly query language for Elasticsearch\n       95 commits, last change: 2014-10-28 - 02:29, 17 stars, 2 forks\n\n    npolar/icelastic:\n      Cool URIs for Elasticsearch\n       200 commits, last change: 2014-10-30 - 10:51, 2 stars, 0 forks\n\n    nz/elasticmill:\n      Process your highly parallel Elasticsearch updates into efficient batches.\n       21 commits, last change: 2013-02-09 - 00:53, 9 stars, 0 forks\n\n    pawelrychlik/duplitector:\n      A duplicate data detector engine PoC based on Elasticsearch.\n       42 commits, last change: , 11 stars, 1 forks\n\n    polyfractal/elasticsearch-inquisitor:\n      Site plugin for Elasticsearch to help understand and debug queries.\n       62 commits, last change: 2014-09-09 - 01:32, 395 stars, 35 forks\n\n    PoseBiz/stretcher:\n      Fast, Elegant, ElasticSearch client\n       308 commits, last change: 2013-12-03 - 01:24, 344 stars, 52 forks\n\n    printercu/elastics-rb:\n      Simple ElasticSearch client with AR integration\n       39 commits, last change: 2014-11-16 - 08:36, 70 stars, 1 forks\n\n    toptal/chewy:\n      High-level Elasticsearch ruby framework based on official elasticsearch-ruby client\n       306 commits, last change: 2014-11-16 - 17:29, 315 stars, 44 forks\n\n    yakaz/elasticsearch-analysis-combo:\n      Elasticsearch Combo Analyzer\n       60 commits, last change: 2014-08-23 - 15:07, 50 stars, 13 forks\n\u003c!-- PROJECTS_LIST_END --\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmindreframer%2Felasticsearch-stuff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmindreframer%2Felasticsearch-stuff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmindreframer%2Felasticsearch-stuff/lists"}