{ "info": { "author": "Bertrand Bordage", "author_email": "bordage.bertrand@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "Wagtail PostgreSQL full text search backend\n===========================================\n\n.. image:: http://img.shields.io/travis/wagtail/wagtail-pg-search-backend/master.svg\n :target: https://travis-ci.org/wagtail/wagtail-pg-search-backend\n\nA PostgreSQL full text search backend for Wagtail CMS.\n\n\nInstallation\n------------\n\nPostgreSQL full text search in Wagtail requires PostgreSQL >= 9.2\n(noticable speed improvements are in place for PostgreSQL >= 9.5),\nDjango >= 1.10 and Wagtail >= 1.8.\n\nFirst, install the module using::\n\n pip install wagtail-pg-search-backend\n\nThen you'll need to do a little bit of configuration.\n\nAdd the following to the project settings::\n\n INSTALLED_APPS = [\n ...\n 'wagtail_pgsearchbackend'\n ...\n ]\n\n WAGTAILSEARCH_BACKENDS = {\n 'default': {\n 'BACKEND': 'wagtail_pgsearchbackend.backend',\n 'SEARCH_CONFIG': 'english'\n }\n }\n\nThen run migrations to add the required database table::\n\n ./manage.py migrate wagtail_pgsearchbackend\n\n\nConfiguration\n-------------\n\nThe ``SEARCH_CONFIG`` key takes a text search configuration name.\nThis controls the stemming, stopwords etc. used when searching and\nindexing the database. To get a list of the available config names\nuse this query::\n\n SELECT cfgname FROM pg_catalog.pg_ts_config\n\n\nUsage\n-----\n\nThis backend implements the required methods to be compatible\nwith most features mentioned in the the\n`Wagtail search docs`_.\n\n.. _Wagtail search docs: http://docs.wagtail.io/en/v1.9/topics/search/backends.html\n\n\nKnown limitations\n~~~~~~~~~~~~~~~~~\n\n* ``SearchField.partial_match`` behaviour is not implemented.\n\n* Due to a PostgreSQL limitation, ``SearchField.boost`` is only partially\n respected. It is changed so that there can only be 4 different boosts.\n If you define 4 or less different boosts,\n everything will be perfectly accurate.\n However, your search will be a little less accurate if you define more than\n 4 different boosts. That being said, it will work and be roughly the same.\n\n* ``SearchField.es_extra`` is not handled because it is specific\n to ElasticSearch.\n\n* Using ``SearchQuerySet.search`` while limiting to specific field(s) is only\n supported for database fields, not methods.\n\n\nPerformance\n~~~~~~~~~~~\n\nThe PostgreSQL search backend has been tried and tested on a few small\nto medium sized website and its performance compares favorably to that\nof ElasticSearch.\n\nSome noticeable speed improvements are in place when using PostgreSQL >= 9.5.\n\n\nFeatures to add\n---------------\n\nThese features would awesome to have once this project is merged with Wagtail:\n\n- Per-object boosting\n- Faceting\n- Autocomplete (maybe it should replace partial search?)\n- Spelling suggestions\n\n\nDevelopment\n-----------\n\nInstall the package and dev requirements::\n\n pip install -e . -r requirements-dev.txt\n\n\nCreating migrations\n~~~~~~~~~~~~~~~~~~~\n\nFirst create a database::\n\n createdb -Upostgres wagtail_pgsearchbackend\n\nThen call makemigrations using the test settings::\n\n django-admin makemigrations --settings=tests.settings\n\n\nTesting\n~~~~~~~\n\nTo run the unittests for the current environment's Python version\nand Wagtail run::\n\n make unittests\n\nTo check the code for style errors run::\n\n make flaketest\n\nTo combine these tasks run::\n\n make\n\nTo run the unittest against all supported versions of Python and\nWagtail run::\n\n tox\n\nThe tox run will also create a coverage report combining the results\nof all runs. This report is located in ``htmlcov/index.html``.\n\nTo run individual tests by name use the ``runtests.py`` script and give\nthe dotted path the the test module(s), class(es) or method(s) that you\nwant to test e.g.::\n\n ./runtests.py tests.test_module.TestClass.test_method\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/leukeleu/wagtail-pg-search-backend", "keywords": "wagtail,postgres,fulltext,search", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "wagtail-pg-search-backend", "package_url": "https://pypi.org/project/wagtail-pg-search-backend/", "platform": "", "project_url": "https://pypi.org/project/wagtail-pg-search-backend/", "project_urls": { "Homepage": "https://github.com/leukeleu/wagtail-pg-search-backend" }, "release_url": "https://pypi.org/project/wagtail-pg-search-backend/1.3.2/", "requires_dist": [ "Django (>=1.10)", "psycopg2", "six", "wagtail" ], "requires_python": "", "summary": "PostgreSQL full text search backend for Wagtail CMS", "version": "1.3.2" }, "last_serial": 2842086, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "134e707ddba38f622fcd877952bfc1e3", "sha256": "c51b619c0b208e32a9b924596547a999347cd39b2f72cc846a2467906d7b392e" }, "downloads": -1, "filename": "wagtail_pg_search_backend-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "134e707ddba38f622fcd877952bfc1e3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10023, "upload_time": "2017-03-23T16:47:00", "url": "https://files.pythonhosted.org/packages/80/fb/c6e9ec418fb5b84e220fd5140e2029033a04e7a4eb778ea825e465e99ee6/wagtail_pg_search_backend-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52d79d824513294180884bb0f35cf51c", "sha256": "46a3ce915cb0578ad6bd8749856df5430b37e5603d445e74ee80c4b24d85afca" }, "downloads": -1, "filename": "wagtail-pg-search-backend-1.0.0.tar.gz", "has_sig": false, "md5_digest": "52d79d824513294180884bb0f35cf51c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10297, "upload_time": "2017-03-23T16:47:02", "url": "https://files.pythonhosted.org/packages/e0/71/a5a5e46e6a97e6e2cb364c82abc6852217d3f57661de78c23841bd8d13df/wagtail-pg-search-backend-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "6059c15dc1123f0fce2107692e898dda", "sha256": "2992d81ccde024e2a4f8422a6d6e022d8ce40547f939928e29508a3598085f31" }, "downloads": -1, "filename": "wagtail-pg-search-backend-1.1.0.tar.gz", "has_sig": false, "md5_digest": "6059c15dc1123f0fce2107692e898dda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10506, "upload_time": "2017-03-23T17:12:19", "url": "https://files.pythonhosted.org/packages/fd/4e/c7c57246ec29a48e86f181702c8563b7be44024e23e1818a51f3ffaa0ebd/wagtail-pg-search-backend-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "a6d9b08db335fe8b72dac10f307b05e2", "sha256": "3d5026490544a9ebe7cd94ff03dfeba02f6a998138342341b4fad8411607ba77" }, "downloads": -1, "filename": "wagtail-pg-search-backend-1.1.1.tar.gz", "has_sig": false, "md5_digest": "a6d9b08db335fe8b72dac10f307b05e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10498, "upload_time": "2017-03-23T17:22:11", "url": "https://files.pythonhosted.org/packages/4b/b7/04f26313e4ccf04717291d19f1c2a7e59e5c7c5989bffec3df9850291892/wagtail-pg-search-backend-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "de4feed173fe7ba77c01af805671aa2b", "sha256": "ca97a2f55cdd01297670423a01f1dff4ef7fa66dc8c9319882f1abacaf242808" }, "downloads": -1, "filename": "wagtail-pg-search-backend-1.2.0.tar.gz", "has_sig": false, "md5_digest": "de4feed173fe7ba77c01af805671aa2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12058, "upload_time": "2017-03-24T19:01:53", "url": "https://files.pythonhosted.org/packages/3a/7f/ba90b0e9916ade26f66446c2f4995768c99c03e23f22a630574eaa687dd0/wagtail-pg-search-backend-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "2d264c0338dceac864328ebf2679ae64", "sha256": "2d4e1035671fd20ea675ba35d168090c691269675e9e4441d73e76d33d4bf92d" }, "downloads": -1, "filename": "wagtail_pg_search_backend-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2d264c0338dceac864328ebf2679ae64", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14748, "upload_time": "2017-03-29T01:15:42", "url": "https://files.pythonhosted.org/packages/c9/f6/2fae825ea277ee1832167d4e7f2d8afd9ce0fe93498d7e11689fafd42049/wagtail_pg_search_backend-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13e71b56717903c503099ab44ca9974a", "sha256": "864deee7bee624edfe5972856cfaaa303a39bd52feb991e547e26ed5f4636c7a" }, "downloads": -1, "filename": "wagtail-pg-search-backend-1.3.0.tar.gz", "has_sig": false, "md5_digest": "13e71b56717903c503099ab44ca9974a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14338, "upload_time": "2017-03-29T01:15:43", "url": "https://files.pythonhosted.org/packages/95/bf/c43ce7137214c364fb3c69900549b699aaaa1e716d1d61910bfd0bd0f673/wagtail-pg-search-backend-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "b654366d7ec1027969b1ab30301184b0", "sha256": "caa9f1754815df917af20acbb487f3b7840efa6d4fbc3499191b836f56fe09fd" }, "downloads": -1, "filename": "wagtail_pg_search_backend-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b654366d7ec1027969b1ab30301184b0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14754, "upload_time": "2017-04-24T07:51:38", "url": "https://files.pythonhosted.org/packages/fd/01/98a18310adae90f0544ef4240b4924e69e0d99fec448b4f193d6b2cd405f/wagtail_pg_search_backend-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1981f4f65c194769e974c377499b7ba7", "sha256": "fcac84c32bf74304058b92a1e35bd8dabaca8ad4679fed0c4e8fa4d88c79a63a" }, "downloads": -1, "filename": "wagtail-pg-search-backend-1.3.1.tar.gz", "has_sig": false, "md5_digest": "1981f4f65c194769e974c377499b7ba7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15029, "upload_time": "2017-04-24T07:51:40", "url": "https://files.pythonhosted.org/packages/7f/70/3389f760333df895a4464ea3747cdf73475f6b81dbab1c07e20c04ea934a/wagtail-pg-search-backend-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "3f1674c261917526364d8e90fd200a64", "sha256": "ea35c908df83ffb581ac088b355d3e2977515a2d1ab50e98a01390d01fa2d573" }, "downloads": -1, "filename": "wagtail_pg_search_backend-1.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f1674c261917526364d8e90fd200a64", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14827, "upload_time": "2017-04-29T17:04:57", "url": "https://files.pythonhosted.org/packages/20/7e/1e67eec6a0acd83cbcf88eb91cf03ded2c8fd271f2b53100696b2939b1da/wagtail_pg_search_backend-1.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4a39a59e4dd23a6128683b9af1263cb", "sha256": "afcd888c51b6c282ae13691e305cded93dbfbcd3c5bccc474eb6f4dbe4f188e6" }, "downloads": -1, "filename": "wagtail-pg-search-backend-1.3.2.tar.gz", "has_sig": false, "md5_digest": "c4a39a59e4dd23a6128683b9af1263cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17522, "upload_time": "2017-04-29T17:04:58", "url": "https://files.pythonhosted.org/packages/85/5b/76e80ecd6d1d3eec2b12d2ca90682a1d6cfec0c5e2d70a21043f7fd2bfc6/wagtail-pg-search-backend-1.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f1674c261917526364d8e90fd200a64", "sha256": "ea35c908df83ffb581ac088b355d3e2977515a2d1ab50e98a01390d01fa2d573" }, "downloads": -1, "filename": "wagtail_pg_search_backend-1.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f1674c261917526364d8e90fd200a64", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14827, "upload_time": "2017-04-29T17:04:57", "url": "https://files.pythonhosted.org/packages/20/7e/1e67eec6a0acd83cbcf88eb91cf03ded2c8fd271f2b53100696b2939b1da/wagtail_pg_search_backend-1.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4a39a59e4dd23a6128683b9af1263cb", "sha256": "afcd888c51b6c282ae13691e305cded93dbfbcd3c5bccc474eb6f4dbe4f188e6" }, "downloads": -1, "filename": "wagtail-pg-search-backend-1.3.2.tar.gz", "has_sig": false, "md5_digest": "c4a39a59e4dd23a6128683b9af1263cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17522, "upload_time": "2017-04-29T17:04:58", "url": "https://files.pythonhosted.org/packages/85/5b/76e80ecd6d1d3eec2b12d2ca90682a1d6cfec0c5e2d70a21043f7fd2bfc6/wagtail-pg-search-backend-1.3.2.tar.gz" } ] }