搜索记录

通过关键词搜索记录

示例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://www.codercto.com/courses/l/6.html

查看所有标签

随意搜寻

随意搜寻

Peter Morville / 沈浩翔 / 华中科技大学出版社 / 2013-10-1 / CNY 68.00

在这个信息爆炸的年代,我们如何找到出路?在纷繁交错的信息流中,我们如何筛选出想要的信息?既然Google已经魔法般地将正确答案呈现在我们面前,为什么信息架构的方式依然重要? 《Web信息架构》的作者Peter Morville,用了10年时间回答以上问题。《随意搜寻》是 一趟奇妙的旅程,让未来触手可及:无论何时何地,我们都能找到任何人、任何东西。这本书即是路线图,也是信息时代的“玛雅预言”,......一起来看看 《随意搜寻》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换