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

ElasticSearch

Avatar for nyumatova nyumatova
August 24, 2012

 ElasticSearch

Avatar for nyumatova

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 )