Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ElasticSearch

nyumatova
August 24, 2012

 ElasticSearch

nyumatova

August 24, 2012
Tweet

More Decks by nyumatova

Other Decks in Programming

Transcript

  1. Почему ElasticSearch? Почему ElasticSearch? Хорошая поддержка русского языка Прост в

    установке и настройке Удобная работа с индексами Приятный Query DSL (domain-specific language) pyes и elasticutils (от mozilla) Индексация в режиме реального времени
  2. elasticutils (pyes): индексы elasticutils (pyes): индексы from  elasticutils  import  get_es

    connector  =  get_es(hosts=['127.0.0.1:9200']) connector.delete_index_if_exists('crm') connector.create_index('crm',  settings=SETTINGS) connector.put_mapping('clients',  {        'properties':  CLIENTS_MAPPING,        '_type':  {'store':  'yes'} },  ['crm']) connector.put_mapping('contacts',  {        'properties':  CONTACTS_MAPPING,        '_type':  {'store':  'yes'} },  ['crm'])
  3. ElasticSearch REST API curl ElasticSearch REST API curl $  curl

     -­‐XGET  'http://localhost:9200/crm/_search'  -­‐d  '{    'filter':  {        'and':  [{'term':  {'_type':  u'clients'}},  {'term':  {'is_client':  True}}]    },    'query':  {        'query_string':  {'query':  u'петров',  'default_field':  'content'}    },    'sort':  [{u'modified_on':  'desc'}],    'from':  15,    'size':  5,    'fields':  ['id'] }'
  4. elasticutils: query elasticutils: query ... query  =  u'иванов' searcher  =

     searcher.query(        content__query_string=query )