معرفی شرکت ها


elasticsearchquerygenerator-5.0.0


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

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

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

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

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

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

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

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

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

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

مشاهده بیشتر

توضیحات

Create Complex Elastic Search Query in Seconds Please see documentation for more details
ویژگی مقدار
سیستم عامل -
نام فایل elasticsearchquerygenerator-5.0.0
نام elasticsearchquerygenerator
نسخه کتابخانه 5.0.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Soumil Nitin Shah
ایمیل نویسنده soushah@my.bridgeport.edu
آدرس صفحه اصلی https://github.com/soumilshah1995/elasticsearchquerygenerator.git
آدرس اینترنتی https://pypi.org/project/elasticsearchquerygenerator/
مجوز MIT
---------------------------------------- [![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)] --------------------------- # Elastic Search Query Generator #### what is Elastic Search Query Generator ? * While i was working with Elastic Search i found it very difficult to write complex queries as most of query are deep Nested * Thats the reason i decided to make a helper class that can generate complex Elastic Search query in Seconds * Library can be used to generate complex aggregation Query , Geo location Query (AND | OR | NOT ) any set of combination is possible * in addition to all mentioned above you can also generate auto complete query in matter of seconds * please see examples below on how to use this module. * if you have any questions or suggestion please drop me an email at shahsoumil519@gmail.com * Learn More : https://www.youtube.com/watch?v=C-JKcMM6IXE&t=2548s ## documentation : * UML Diagram ![Capture](https://user-images.githubusercontent.com/39345855/96332462-17e19100-1032-11eb-930e-8deb98f94675.JPG) * Constructor: * Size: How Many Documents should the Query Return * BucketName: is optional pass a name for Aggregation * Source: Basically what fields you want to return takes a List Argument source= [“f1”, “f2”, …..] * Min_score: used for filtering large documents average threshold is set to 0.5 * Field: * This is column or field you would like to search * Boost: * If you want to Boost certain field pass a integer value * Operation * There are four main operation you can pass * Should ( OR Operation) * Must (AND operation) * Filter (FILTER Result ) * Must_not (NOT Operation ) * Analyzer: * you can specify various analyzer such as stop etc ## Installation ```bash pip install elasticsearchquerygenerator ``` ## Usage ```python from elasticsearchquerygenerator.elasticsearchquerygenerator import ElasticSearchQuery import json def main(): helper = ElasticSearchQuery(size=100, BucketName="MyBuckets") # match phrase query=helper.match_phrase(field="myfeild", value="myvalue", operation='must') # terms query=helper.terms(field="myfeild", value="myvalue", operation='must') # Feild Exists query = helper.exists(field='comp feild', operation="must") #Match query=helper.match(field="MMMMM", value="myvalue", operation='must') # Geo Queires query = helper.add_geoqueries(radius="100", lat="22", lon="33") # Aggreation helper.add_aggreation(aggregate_name="FirstName", field="field1",type='terms',sort='desc', size=3) helper.add_aggreation(aggregate_name="SecondName", field="field2",type='terms',sort='desc', size=3) helper.add_aggreation(aggregate_name="ThirdName", field="field3",type='terms',sort='desc', size=3) query = helper.complete_aggreation() query = helper.query_string(default_field="DEFAULT",query="X OR Y",operation='must') query = helper.add_geo_aggreation(field="AAAA", lat="22", lon="43",aggregate_name="my_distance") print(json.dumps(query, indent=3)) if __name__ == "__main__": main() ``` ```json { "_source": [], "size": 100, "min_score": 0.5, "query": { "bool": { "must": [ { "match_phrase": { "myfeild": { "query": "myvalue" } } }, { "match_phrase": { "myfeild": { "query": "myvalue" } } }, { "term": { "myfeild": "myvalue" } }, { "exists": { "field": "comp feild" } }, { "match": { "MMMMM": { "query": "myvalue" } } }, { "match": { "MMMMM": { "query": "myvalue" } } }, { "query_string": { "default_field": "DEFAULT", "query": "X OR Y" } } ], "filter": [ { "geo_distance": { "distance": "100mi", "null": { "lat": "22", "lon": "33" } } } ], "should": [], "must_not": [] } }, "aggs": { "FirstName": { "terms": { "field": "field1", "order": { "_count": "desc" }, "size": 3 } }, "SecondName": { "terms": { "field": "field2", "order": { "_count": "desc" }, "size": 3 } }, "ThirdName": { "terms": { "field": "field3", "order": { "_count": "desc" }, "size": 3 } }, "my_distance": { "geo_distance": { "field": "AAAA", "origin": "22,43", "unit": "mi", "ranges": [ { "to": 0 }, { "from": 0, "to": 25 }, { "from": 25, "to": 50 }, { "from": 50, "to": 75 }, { "from": 75, "to": 100 }, { "from": 100 } ] } } } } ``` ### Example 2 ```python from elasticsearchquerygenerator.elasticsearchquerygenerator import ElasticSearchQuery import json def autocomplete(): helper = ElasticSearchQuery(size=0, BucketName="MyBuckets") query = helper.autocomplete_1(field="title",value="n", size=25,sort='desc') print(json.dumps(query, indent=3)) if __name__ == "__main__": main(autocomplete ``` ```json { "_source": [], "size": 0, "min_score": 0.5, "query": { "bool": { "must": [ { "match_phrase_prefix": { "title": { "query": "n" } } } ], "filter": [], "should": [], "must_not": [] } }, "aggs": { "auto_complete": { "terms": { "field": "title", "order": { "_count": "desc" }, "size": 25 } } } } ``` ##### i would be adding more examples and making it better and better ## Authors ## Soumil Nitin Shah #### Contributor ** sasirajpuvvada ** ---------------------------------------------------------- * Excellent experience of building scalable and high-performance Software Applications combining distinctive skill sets in Internet of Things (IoT), Machine Learning and Full Stack Web Development in Python. Bachelor in Electronic Engineering | Masters in Electrical Engineering | Master in Computer Engineering | * Website : https://soumilshah.herokuapp.com * Github: https://github.com/soumilshah1995 * Linkedin: https://www.linkedin.com/in/shah-soumil/ * Blog: https://soumilshah1995.blogspot.com/ * Youtube : https://www.youtube.com/channel/UC_eOodxvwS_H7x2uLQa-svw?view_as=subscriber * Facebook Page : https://www.facebook.com/soumilshah1995/ * Email : shahsoumil519@gmail.com [![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.me/soumilshah1995) ## License This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details


نحوه نصب


نصب پکیج whl elasticsearchquerygenerator-5.0.0:

    pip install elasticsearchquerygenerator-5.0.0.whl


نصب پکیج tar.gz elasticsearchquerygenerator-5.0.0:

    pip install elasticsearchquerygenerator-5.0.0.tar.gz