搜索记录

通过关键词搜索记录

示例1:

# encoding:utf-8
#!/usr/bin/python

from elasticsearch import Elasticsearch

class ElasticObj:
    def __init__(self, index_name, index_type, ip ="127.0.0.1"):

        '''
        :param index_name: 索引名称
        :param index_type: 索引类型
        '''
        self.index_name =index_name
        self.index_type = index_type

        # 无用户名密码状态
        self.es = Elasticsearch([ip])

        #用户名密码状态
        # self.es = Elasticsearch([ip],http_auth=('elastic', 'password'),port=9200)

    '''
    搜索数据
    '''
    def Search(self, query):
        print self.es.search(index=self.index_name, doc_type=self.index_type, body=query)


if __name__ == "__main__":

    obj =ElasticObj("test", "test_type", ip ="127.0.0.1")
    query = {'query': {'match': {'title': 'Eloquent'}}}
    obj.Search(query)

执行结果:

{
  u'hits': {
    u'hits': [
      {
        u'_score': 0.2876821,
        u'_type': u'test_type',
        u'_id': u'2',
        u'_source': {
          u'url': u'https://www.codercto.com/courses/d/62.html',
          u'id': 2,
          u'title': u'Eloquent: 模型关联'
        },
        u'_index': u'test'
      },
      {
        u'_score': 0.2876821,
        u'_type': u'test_type',
        u'_id': u'1',
        u'_source': {
          u'url': u'https://www.codercto.com/courses/d/61.html',
          u'id': 1,
          u'title': u'Eloquent: 入门'
        },
        u'_index': u'test'
      }
    ],
    u'total': 2,
    u'max_score': 0.2876821
  },
  u'_shards': {
    u'successful': 5,
    u'failed': 0,
    u'skipped': 0,
    u'total': 5
  },
  u'took': 23,
  u'timed_out': False
}

可以看到 2 条包含 Eloquent 关键词的数据被检索出来了。

示例2:

obj =ElasticObj("test", "test_type", ip ="127.0.0.1")
query = {'query': {'match': {'title': '入门'}}}
obj.Search(query)

执行结果:

{
  u'hits': {
    u'hits': [
      {
        u'_score': 0.5753642,
        u'_type': u'test_type',
        u'_id': u'1',
        u'_source': {
          u'url': u'https://www.codercto.com/courses/d/61.html',
          u'id': 1,
          u'title': u'Eloquent:入门'
        },
        u'_index': u'test'
      }
    ],
    u'total': 1,
    u'max_score': 0.5753642
  },
  u'_shards': {
    u'successful': 5,
    u'failed': 0,
    u'skipped': 0,
    u'total': 5
  },
  u'took': 10,
  u'timed_out': False
}

可以看到只有条件包含 入门 的数据被检索出来了。

点击查看所有 Python 操作 ElasticSearch 简明教程 文章: https://codercto.com/courses/l/6.html

查看所有标签

怎样解题

怎样解题

[美] G. 波利亚 / 涂泓、冯承天 / 上海科技教育出版社 / 2007-5 / 16.00元

怎样解题:数学思维的新方法,ISBN:9787542843876,作者:(美)波利亚 著;徐泓、冯承天 译一起来看看 《怎样解题》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具