معرفی شرکت ها


elasticmodels-0.0.9


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Elasticmodels helps you index and query your Django models using elasticsearch
ویژگی مقدار
سیستم عامل -
نام فایل elasticmodels-0.0.9
نام elasticmodels
نسخه کتابخانه 0.0.9
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Matt Johnson
ایمیل نویسنده mdj2@pdx.edu
آدرس صفحه اصلی https://github.com/PSU-OIT-ARC/elasticmodels
آدرس اینترنتی https://pypi.org/project/elasticmodels/
مجوز UNKNOWN
# Elasticmodels Elasticmodels helps you index and query your Django models using elasticsearch. It is designed to be an alternative to django-haystack when you need more control over your index creation, and you are always going to use elasticsearch. # Install pip install elasticmodels # Setup ## settings.py In your Django settings file, define these variables: ```python ELASTIC_SEARCH_CONNECTION = { "urls": ["http://localhost:9200/"], "index": "the_name_of_your_es_index", # "http_auth": "username:password", } # these are used when your index is created ELASTIC_SEARCH_SETTINGS = { "settings": { "analysis": { "analyzer": { "snowball": { "type": "snowball", "stopwords": "_none_" } } } } } ``` Add elasticmodels to INSTALLED_APPS: ```python INSTALLED_APPS = ( ... 'elasticmodels', ) ``` ## app/search_indexes.py In a Django app, create a search_indexes.py file, like so: ```python from elasticmodels import Indexable from django.template.loader import render_to_string from .models import File, FileTag class FileIndex(Indexable): # specify the model class this index is for model = File def mapping(self): """ Return the elasticsearch mapping for this model type """ return { "properties": { "pk": {"type": "integer", "index": "not_analyzed"}, "content": {"type": "string", "analyzer": "snowball"}, "tags": {"type": "string", "analyzer": "keyword"}, "org_id": {"type": "integer", "index": "not_analyzed"}, "type": {"type": "integer", "analyzer": "keyword"}, "uploaded_by_id": {"type": "integer", "analyzer": "keyword"}, } } def prepare(self, obj): """ Return obj transformed into a dict that corresponds to the mapping you defined. This is what will be indexed by elasticsearch. """ return { "pk": obj.pk, "content": render_to_string("files/search.txt", {"object": obj}), "tags": [ft.tag.name for ft in FileTag.objects.filter(file=obj).select_related("tag")], "org_id": obj.org_id, "type": obj.type, "uploaded_by_id": obj.uploaded_by_id, } ``` # Usage ## Deleting and recreating your index ./manage.py rebuild_index **This will delete the entire elasticsearch index** and recreate it. All your model objects will be re-indexed. ## Adding an individual object to the index ```python from elasticmodels import make_searchable f = File(name="Foo", type=1) f.save() make_searchable(f) ``` ## Querying Your subclass of elasticmodels.Indexable has a class attribute called `objects` which returns an elasticutils `S` instance. You can then use whatever methods are available in elasticutils on the S instance. See: http://elasticutils.readthedocs.org/en/latest/searching.html http://elasticutils.readthedocs.org/en/latest/searching.html#filters-filter http://elasticutils.readthedocs.org/en/latest/searching.html#queries-query http://elasticutils.readthedocs.org/en/latest/searching.html#advanced-filters-f-and-filter-raw ```python from elasticutils import F from .search_indexes import FileIndex results = FileIndex.objects.filter(F(type=1) | F(type=2)).query(content__match="foo") for result in results: print result.pk, result.content ```


نحوه نصب


نصب پکیج whl elasticmodels-0.0.9:

    pip install elasticmodels-0.0.9.whl


نصب پکیج tar.gz elasticmodels-0.0.9:

    pip install elasticmodels-0.0.9.tar.gz