{ "info": { "author": "Rob Ervin Jauquet", "author_email": "rjauquet@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Django Searchable\n=================\n\nEasy full text search with Django and PostgreSQL. Sane defaults + auto creation of vector fields, indexes, and database triggers.\n\n\nExample\n--------------\n\nExtend your model with the :code:`SearchableModel` class, and use the :code:`SearchableTextField` class to automatically setup full text search:\n\n.. code-block:: python\n\n from django.db.models import TextField\n from django_searchable.models import SearchableModel, SearchableTextField\n\n class Blog(SearchableModel):\n author_name = TextField() # will NOT have FTS setup automatically\n title = SearchableTextField() # will have FTS setup automatically\n text = SearchableTextField() # will have FTS setup automatically\n\nThen search away via the Blog manager:\n\n.. code-block:: python\n\n # takes a string of space separated terms\n results = Blog.objects.search('spiderman suits')\n\n # or a list of terms\n results = Blog.objects.search(['water', 'baskets', 'leaking'])\n\n # or a SearchQuery object\n from django.contrib.postgres.search import SearchQuery\n query = ~SearchQuery('superman') & SearchQuery('batman')\n results = Blog.objects.search(query)\n\n:code:`.search` adds a :code:`rank` annotation and automatically filters and sorts the resulting queryset.\n\nBy default, :code:`.search` will search through all :code:`SearchableTextField` fields on the model, but you can specify any subset:\n\n.. code-block:: python\n\n results = Blog.objects.search('who is venom', fields=['title'])\n\nContributing\n--------------\n\n.. code-block:: bash\n\n pipenv install --dev\n createuser -s -P test_user # use 'password'\n pipenv run ./manage.py test\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/rjauquet/django-searchable/archive/0.1.2.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rjauquet/django-searchable", "keywords": "search,searchable,fts", "license": "", "maintainer": "", "maintainer_email": "", "name": "django-searchable", "package_url": "https://pypi.org/project/django-searchable/", "platform": "", "project_url": "https://pypi.org/project/django-searchable/", "project_urls": { "Download": "https://github.com/rjauquet/django-searchable/archive/0.1.2.tar.gz", "Homepage": "https://github.com/rjauquet/django-searchable" }, "release_url": "https://pypi.org/project/django-searchable/0.1.2/", "requires_dist": [ "Django (>=2.x)", "psycopg2-binary (>=2.7.4)" ], "requires_python": "", "summary": "Easy FTS with Django and PostgreSQL", "version": "0.1.2" }, "last_serial": 3943294, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b678fb2320508dbe21df134514140414", "sha256": "07c7e9ad1a54c5781f344f24dde4ca7ac8701da17f128bec769e6dd5fb6184f8" }, "downloads": -1, "filename": "django_searchable-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b678fb2320508dbe21df134514140414", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5131, "upload_time": "2018-06-07T19:28:31", "url": "https://files.pythonhosted.org/packages/5a/77/213779b266006cc5ebc933f006a3def4491dab6dce2de09d0225fc75650b/django_searchable-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "780afbc23dd82f5fad1875f41c13a73b", "sha256": "771f6155ae22aec8581a48df084a81cafff4821ad9e612537d8f871de0b7e042" }, "downloads": -1, "filename": "django_searchable-0.1.tar.gz", "has_sig": false, "md5_digest": "780afbc23dd82f5fad1875f41c13a73b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3745, "upload_time": "2018-06-07T19:28:32", "url": "https://files.pythonhosted.org/packages/80/c0/cdd34b133b8c8916d8dd710671212d883bac69d64b8cc328ec237dd78fbf/django_searchable-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b93a729eb79aebcfc40fcfc1dbf857f2", "sha256": "d2d4c1943fe31a48761eeacd7f4df002c5b11a6613764b9d66dff9e67d12a805" }, "downloads": -1, "filename": "django_searchable-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b93a729eb79aebcfc40fcfc1dbf857f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5156, "upload_time": "2018-06-07T19:45:53", "url": "https://files.pythonhosted.org/packages/68/af/45847a4c660ffe814ad5466ff77fc55aa996daa0b5eaee13de5d0dae506a/django_searchable-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0ac13f00a8b96d30db17a38bb9b0b96", "sha256": "1b4236c0db3b39c2599657b37b503c92dc7cf9f9a99f880bedd18c2d858a8bcb" }, "downloads": -1, "filename": "django_searchable-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e0ac13f00a8b96d30db17a38bb9b0b96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3756, "upload_time": "2018-06-07T19:45:54", "url": "https://files.pythonhosted.org/packages/26/35/4093cab4742314d6baaf03943a95dc9ea329acbf273fccd0311bfe265166/django_searchable-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "21cef019b198b785365e952aea32c3be", "sha256": "3b09d691b3b786c309faf8bad099abc6eec653e4abc9e0d127b6154c1292a4a2" }, "downloads": -1, "filename": "django_searchable-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "21cef019b198b785365e952aea32c3be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5199, "upload_time": "2018-06-08T15:45:49", "url": "https://files.pythonhosted.org/packages/75/30/92dccb2dd9b1be9d0c2c77d021d0202c0de23a94a547e9c5438069a46c55/django_searchable-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00b22dcb357979e4ebfbcd477cf61be5", "sha256": "a8ccae2ae637c4ffc3e17600d2fe2ef8034ea143d8a50b97c731b9eee77837d6" }, "downloads": -1, "filename": "django_searchable-0.1.2.tar.gz", "has_sig": false, "md5_digest": "00b22dcb357979e4ebfbcd477cf61be5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3835, "upload_time": "2018-06-08T15:45:50", "url": "https://files.pythonhosted.org/packages/67/dd/836717f388b765477dec31e0da98e4174003b6206d6e1f3fbaf17ba329ad/django_searchable-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "21cef019b198b785365e952aea32c3be", "sha256": "3b09d691b3b786c309faf8bad099abc6eec653e4abc9e0d127b6154c1292a4a2" }, "downloads": -1, "filename": "django_searchable-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "21cef019b198b785365e952aea32c3be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5199, "upload_time": "2018-06-08T15:45:49", "url": "https://files.pythonhosted.org/packages/75/30/92dccb2dd9b1be9d0c2c77d021d0202c0de23a94a547e9c5438069a46c55/django_searchable-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00b22dcb357979e4ebfbcd477cf61be5", "sha256": "a8ccae2ae637c4ffc3e17600d2fe2ef8034ea143d8a50b97c731b9eee77837d6" }, "downloads": -1, "filename": "django_searchable-0.1.2.tar.gz", "has_sig": false, "md5_digest": "00b22dcb357979e4ebfbcd477cf61be5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3835, "upload_time": "2018-06-08T15:45:50", "url": "https://files.pythonhosted.org/packages/67/dd/836717f388b765477dec31e0da98e4174003b6206d6e1f3fbaf17ba329ad/django_searchable-0.1.2.tar.gz" } ] }