{
"info": {
"author": "Mozilla Services",
"author_email": "services-dev@mozilla.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5"
],
"description": "Kinto ElasticSearch\n###################\n\n.. image:: https://img.shields.io/travis/Kinto/kinto-elasticsearch.svg\n :target: https://travis-ci.org/Kinto/kinto-elasticsearch\n\n.. image:: https://img.shields.io/pypi/v/kinto-elasticsearch.svg\n :target: https://pypi.python.org/pypi/kinto-elasticsearch\n\n.. image:: https://coveralls.io/repos/Kinto/kinto-elasticsearch/badge.svg?branch=master\n :target: https://coveralls.io/r/Kinto/kinto-elasticsearch\n\n**kinto-elasticsearch** forwards the records to ElasticSearch and provides a ``/search``\nendpoint to query the indexed data.\n\n\nInstall\n=======\n\n::\n\n pip install kinto-elasticsearch\n\n\nSetup\n=====\n\nIn the `Kinto `_ settings:\n\n.. code-block :: ini\n\n kinto.includes = kinto_elasticsearch\n kinto.elasticsearch.hosts = localhost:9200\n\nBy default, ElasticSearch is smart and indices are not refreshed on every change.\nYou can force this (with a certain drawback in performance):\n\n.. code-block :: ini\n\n kinto.elasticsearch.force_refresh = true\n\nBy default, indices names are prefixed with ``kinto-``. You change this with:\n\n.. code-block :: ini\n\n kinto.elasticsearch.index_prefix = myprefix\n\n\nRun ElasticSearch\n=================\n\nRunning a local install of *ElasticSearch* on ``localhost:9200`` with Docker is pretty straightforward:\n\n::\n\n sudo docker run -p 9200:9200 elasticsearch\n\nIt is also be installed manually on Ubuntu with:\n\n::\n\n sudo apt-get install elasticsearch\n\nAnd more information is available in the `official docs `_.\n\n\nUsage\n=====\n\nCreate a new record:\n\n::\n\n $ echo '{\"data\": {\"note\": \"kinto\"}}' | http POST http://localhost:8888/v1/buckets/example/collections/notes/records --auth token:alice-token\n\n\nIt should now be possible to search for it using the `ElasticSearch API `_.\n\nFor example, using a quick querystring search:\n\n::\n\n $ http \"http://localhost:8888/v1/buckets/example/collections/notes/search?q=note:kinto\"--auth token:alice-token\n\n\nOr an advanced search using request body:\n\n::\n\n $ echo '{\"query\": {\"match_all\": {}}}' | http POST http://localhost:8888/v1/buckets/example/collections/notes/search --auth token:alice-token\n\n.. code-block:: http\n\n HTTP/1.1 200 OK\n Access-Control-Expose-Headers: Retry-After, Content-Length, Alert, Backoff\n Content-Length: 333\n Content-Type: application/json; charset=UTF-8\n Date: Wed, 20 Jan 2016 12:02:05 GMT\n Server: waitress\n\n {\n \"_shards\": {\n \"failed\": 0,\n \"successful\": 5,\n \"total\": 5\n },\n \"hits\": {\n \"hits\": [\n {\n \"_id\": \"453ff779-e967-4b08-99b9-5c16af865a67\",\n \"_index\": \"example-assets\",\n \"_score\": 1.0,\n \"_source\": {\n \"id\": \"453ff779-e967-4b08-99b9-5c16af865a67\",\n \"last_modified\": 1453291301729,\n \"note\": \"kinto\"\n },\n \"_type\": \"example-assets\"\n }\n ],\n \"max_score\": 1.0,\n \"total\": 1\n },\n \"timed_out\": false,\n \"took\": 20\n }\n\n\nCustom index mapping\n--------------------\n\nBy default, ElasticSearch infers the data types from the indexed records.\n\nBut it's possible to define the index mappings (ie. schema) from the collection metadata,\nin the ``index:schema`` property:\n\n.. code-block:: bash\n\n $ echo '{\n \"data\": {\n \"index:schema\": {\n \"properties\": {\n \"id\": {\"type\": \"keyword\"},\n \"last_modified\": {\"type\": \"long\"},\n \"build\": {\n \"properties\": {\n \"date\": {\"type\": \"date\", \"format\": \"strict_date\"},\n \"id\": {\"type\": \"keyword\"}\n }\n }\n }\n }\n }\n }' | http PATCH \"http://localhost:8888/v1/buckets/blog/collections/builds\" --auth token:admin-token --verbose\n\nRefer to ElasticSearch official documentation for more information about mappings.\n\nSee also, `domapping `_ a CLI tool to convert JSON schemas to ElasticSearch mappings.\n\n\nRunning the tests\n=================\n\n::\n\n $ make tests\n\n\nChangelog\n=========\n\n\n0.3.1 (2018-04-11)\n------------------\n\n**Bug fixes**\n\n- Fix the reindex get_paginated_records function. (fixes #61)\n\n\n0.3.0 (2017-09-12)\n------------------\n\n**New features**\n\n- Add StatsD timer to measure E/S indexation (fixes #54)\n- Add a ``kinto-reindex`` command to reindex existing collections of records (fixes #56)\n \n\n0.2.1 (2017-06-14)\n------------------\n\n**Bug fixes**\n\n- Fix the number of results when specified in query (ref #45)\n\n\n0.2.0 (2017-06-13)\n------------------\n\n**Bug fixes**\n\n- Limit the number of results returned by default (fixes #45)\n- Fix crash on search parse exceptions (fixes #44)\n\n\n0.1.0 (2017-05-26)\n------------------\n\n**New features**\n\n- Flush indices when server is flushed (fixes #4)\n- Perform insertions and deletion in bulk for better efficiency (fixes #5)\n- Add setting to force index refresh on change (fixes #6)\n- Add heartbeat (fixes #3)\n- Delete indices when buckets and collections are deleted (fixes #21)\n- Support quick search from querystring (fixes #34)\n- Return details about invalid queries in request body (fixes #23)\n- Support defining mapping from the ``index:schema`` property in the collection metadata (ref #8)\n\n**Bug fixes**\n\n- Only index records if the storage transaction is committed (fixes #15)\n- Do not allow to search if no read permission on collection or bucket (fixes #7)\n- Fix empty results response when plugin was enabled after collection creation (ref #20)\n\n**Internal changes**\n\n- Create index when collection is created (fixes #27)\n\n\n0.0.1 (2017-05-22)\n------------------\n\n- Import code from `Kinto official tutorial `_",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/kinto/kinto-elasticsearch",
"keywords": "kinto elasticsearch index",
"license": "Apache License (2.0)",
"maintainer": "",
"maintainer_email": "",
"name": "kinto-elasticsearch",
"package_url": "https://pypi.org/project/kinto-elasticsearch/",
"platform": "",
"project_url": "https://pypi.org/project/kinto-elasticsearch/",
"project_urls": {
"Homepage": "https://github.com/kinto/kinto-elasticsearch"
},
"release_url": "https://pypi.org/project/kinto-elasticsearch/0.3.1/",
"requires_dist": null,
"requires_python": "",
"summary": "Index and search records using ElasticSearch.",
"version": "0.3.1"
},
"last_serial": 4266241,
"releases": {
"0.0.1": [
{
"comment_text": "",
"digests": {
"md5": "e249be842b8a7b02e478ae42c580bbd9",
"sha256": "41b5ea8ac435d652c846c9d401bb475c1c58a9eb25dce05c44b7dfc911b7d421"
},
"downloads": -1,
"filename": "kinto_elasticsearch-0.0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "e249be842b8a7b02e478ae42c580bbd9",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 6959,
"upload_time": "2017-05-22T15:07:17",
"url": "https://files.pythonhosted.org/packages/9b/3c/1e0c1e0110fb84807213663bd9013827cafbf6395d6cf9d574f749d419e2/kinto_elasticsearch-0.0.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ddd6800321eb742f0d9213f7cb9da21d",
"sha256": "5a8e2fbf78a0dcd548bfa27628e4cbbf07a3d1b0aaa614c10ad52a0e34925851"
},
"downloads": -1,
"filename": "kinto-elasticsearch-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "ddd6800321eb742f0d9213f7cb9da21d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5587,
"upload_time": "2017-05-22T15:07:19",
"url": "https://files.pythonhosted.org/packages/b9/63/8eafbf57711248575d32566ac140507c8081816feca507b9e29ee5f869bf/kinto-elasticsearch-0.0.1.tar.gz"
}
],
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "d69c12f634284e3f50c01bea644c68cc",
"sha256": "67f9900265e00a9e1c446dcebe44c09282bb4abf82854265e67507ef0e2a1d68"
},
"downloads": -1,
"filename": "kinto_elasticsearch-0.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "d69c12f634284e3f50c01bea644c68cc",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10150,
"upload_time": "2017-05-26T10:19:47",
"url": "https://files.pythonhosted.org/packages/1c/de/f6e70e6020fb229583a7dfd4d561e2c54a6af2025154f9529e5f5ba7c953/kinto_elasticsearch-0.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6e337ee9e2e24fac64ce0b7d27140710",
"sha256": "180b4d1468c5d96924ece242aa4c4c8735886e69c4c5ffc8fab522c48b57fc9a"
},
"downloads": -1,
"filename": "kinto-elasticsearch-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "6e337ee9e2e24fac64ce0b7d27140710",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 9576,
"upload_time": "2017-05-26T10:19:49",
"url": "https://files.pythonhosted.org/packages/d1/ff/6ea24258ba2a425cf003f92e011d5f0e4e42294e535337b9bf19fc2a53ec/kinto-elasticsearch-0.1.0.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "ff7d9a5827819b79fb1e8371d947bec4",
"sha256": "66b83f5f27e768f7240083f235efac4e37074eff81f254b731216a273701bf3d"
},
"downloads": -1,
"filename": "kinto_elasticsearch-0.2.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "ff7d9a5827819b79fb1e8371d947bec4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10440,
"upload_time": "2017-06-13T13:12:29",
"url": "https://files.pythonhosted.org/packages/c8/b3/77cf6328dd3938b44f858dee7b4c3efacaded56bb602f3c2793b6d7a573c/kinto_elasticsearch-0.2.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "6d039507ab2a0eab8f8ff08ffe57325c",
"sha256": "4858d8aa630f6935f3cc2c749330e0ef4f45be050f4090da682cda55104b4aaa"
},
"downloads": -1,
"filename": "kinto-elasticsearch-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "6d039507ab2a0eab8f8ff08ffe57325c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10122,
"upload_time": "2017-06-13T13:12:25",
"url": "https://files.pythonhosted.org/packages/c1/7a/078082bef892c11cc8868c9491553d985fe0dccbeb69cc8ca05ca097b544/kinto-elasticsearch-0.2.0.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "0c5541043d3693683e84586cc0cf6f77",
"sha256": "0b3d2a81dbe752ef6b000b666eeede9c019b58c75f40c7d4abc433d4a5e619c1"
},
"downloads": -1,
"filename": "kinto_elasticsearch-0.2.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "0c5541043d3693683e84586cc0cf6f77",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 10637,
"upload_time": "2017-06-14T09:15:31",
"url": "https://files.pythonhosted.org/packages/13/fb/176a54d1a4db7cddd07e81593d015a7a4d84953decde6304d6218e7a550a/kinto_elasticsearch-0.2.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2f7951e0f43487d0aa5077caa6c0bf30",
"sha256": "b01310624cf83f8048472500ba5dc4e64f65d5322036982dd61701e20bef34da"
},
"downloads": -1,
"filename": "kinto-elasticsearch-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "2f7951e0f43487d0aa5077caa6c0bf30",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10358,
"upload_time": "2017-06-14T09:15:28",
"url": "https://files.pythonhosted.org/packages/f2/94/488e7b38ff900d55c5903107affbc5ac560581c642cb837e6d939836b21b/kinto-elasticsearch-0.2.1.tar.gz"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "3e751fc10e9167722714bb00fd673a62",
"sha256": "e0ef8f490c005da11e2845a079ad60f871b742d4ece2fcde248927f66866feb8"
},
"downloads": -1,
"filename": "kinto_elasticsearch-0.3.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "3e751fc10e9167722714bb00fd673a62",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 12814,
"upload_time": "2017-09-12T16:20:34",
"url": "https://files.pythonhosted.org/packages/d7/dc/50eb38b76a7a792ecfcee75e8c40a7e482d5f4c0e436427f3dbcd89dc5de/kinto_elasticsearch-0.3.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b59de108fc0a20b182d2974060ad6c1b",
"sha256": "b3f93cb1832be72d97d33e991fb9f8cad83d72523ddcf54ece75240099248365"
},
"downloads": -1,
"filename": "kinto-elasticsearch-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "b59de108fc0a20b182d2974060ad6c1b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15023,
"upload_time": "2017-09-12T16:20:36",
"url": "https://files.pythonhosted.org/packages/b5/32/33a1569cd00bfca97c3468e69187c0fb7904abb07caf4a696bbe6dbc2e58/kinto-elasticsearch-0.3.0.tar.gz"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "68b8e651602191ed5eb43615347f27dc",
"sha256": "25300a270ef2fc96e2391bb128cdb75e520b1b6ce2a26f7766e19785dce70f5d"
},
"downloads": -1,
"filename": "kinto_elasticsearch-0.3.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "68b8e651602191ed5eb43615347f27dc",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 12910,
"upload_time": "2018-04-12T07:11:34",
"url": "https://files.pythonhosted.org/packages/f1/04/7efe1fc14143c15bda738147d8501774c1ddf707235cb72d5c9e9630674d/kinto_elasticsearch-0.3.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1d03f75838f0b11287e63ea0fc7fada9",
"sha256": "0315227738cf08fbe532330bc4fac9c963e4b688041de6fc042be04af7597870"
},
"downloads": -1,
"filename": "kinto-elasticsearch-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "1d03f75838f0b11287e63ea0fc7fada9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14053,
"upload_time": "2018-04-12T07:11:33",
"url": "https://files.pythonhosted.org/packages/f2/ac/76648f2d37981afbfc462ad41744f503a02b98965617cb969687f8111e2e/kinto-elasticsearch-0.3.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "68b8e651602191ed5eb43615347f27dc",
"sha256": "25300a270ef2fc96e2391bb128cdb75e520b1b6ce2a26f7766e19785dce70f5d"
},
"downloads": -1,
"filename": "kinto_elasticsearch-0.3.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "68b8e651602191ed5eb43615347f27dc",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 12910,
"upload_time": "2018-04-12T07:11:34",
"url": "https://files.pythonhosted.org/packages/f1/04/7efe1fc14143c15bda738147d8501774c1ddf707235cb72d5c9e9630674d/kinto_elasticsearch-0.3.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1d03f75838f0b11287e63ea0fc7fada9",
"sha256": "0315227738cf08fbe532330bc4fac9c963e4b688041de6fc042be04af7597870"
},
"downloads": -1,
"filename": "kinto-elasticsearch-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "1d03f75838f0b11287e63ea0fc7fada9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 14053,
"upload_time": "2018-04-12T07:11:33",
"url": "https://files.pythonhosted.org/packages/f2/ac/76648f2d37981afbfc462ad41744f503a02b98965617cb969687f8111e2e/kinto-elasticsearch-0.3.1.tar.gz"
}
]
}