python操作elasticsearch,python flask django

  python操作elasticsearch,python flask django

  这篇文章主要为大家介绍了弹性研究之大蟒使用及姜戈与瓶集成示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  

目录
弹性搜索之大蟒使用弹性搜索之Django/Flask集成弹性搜索-dsldjango集成

  

Elasticsearch之Python使用

  从弹性搜索导入弹性搜索

  obj=Elasticsearch()

  # 创建索引(索引)

  结果=obj。索引。create(index= user ,body={userid:1 , username:lqz},ignore=400)

  #打印(结果)

  # 删除索引

  # result=obj。索引。删除(index= user ,ignore=[400,404])

  # 插入数据

  # data={userid: 1 ,用户名: lqz ,密码 :123}

  # result=obj.create(index=news ,doc_type=politics ,id=1,body=data)

  #打印(结果)

  # 更新数据

  不用文件包裹会报错

  ActionRequestValidationException[验证失败: 1:缺少脚本或文档

  # data={ doc : { userid : 1 , username: lqz , password:123ee , test:test}}

  # result=obj.update(index=news ,doc_type=politics ,body=data,id=1)

  #打印(结果)

  # 删除数据

  # result=obj.delete(index=news ,doc_type=politics ,id=1)

  # 查询

  # 查找所有文档

  query={ query : { match _ all : { } }

  # 查找名字叫做杰克的所有文档

  # query={ query : { term : { username : lqz } }

  # 查找年龄大于11的所有文档

  # query={ query : { range : { age : { gt : 11 } } }

  allDoc=obj.search(index=news ,doc_type=politics ,body=query)

  打印(所有文档[ hits ][ hits ][0][ _ source ])

  

Elasticsearch之Django/Flask集成

  

elasticsearch-dsl

  #安装:pip3安装弹性搜索-dsl

  #示例

  从日期时间导入日期时间

  从elasticsearch_dsl导入文档,日期,嵌套,布尔值,\

  分析器、InnerDoc、完成、关键字、文本

  html _ strip=analyzer( html _ strip ,

  标记器=标准,

  过滤器=[标准,小写,停止,雪球],

  char_filter=[html_strip]

  )

  类别注释(InnerDoc):

  author=Text(fields={ raw : Keyword()})

  内容=文本(分析器=雪球)

  created_at=Date()

  定义年龄(自己):

  返回日期时间。现在()-自我。创建于

  班级帖子(文档):

  title=Text()

  title_suggest=Completion()

  created_at=Date()

  发布=布尔值()

  类别=文本(

  分析器=html_strip,

  fields={raw: Keyword()}

  )

  注释=嵌套(注释)

  类别索引:

  name=博客

  定义添加注释(自己,作者,内容):

  自我.评论.附加

  Comment(author=author,content=content,created_at=datetime.now()))

  def save(self,** kwargs):

  self.created_at=datetime.now()

  返回超级().保存(**夸脱)

  

django集成

  从日期时间导入日期时间

  从elasticsearch_dsl导入文档,日期,嵌套,布尔,分析器,InnerDoc,完成,关键字,文本,整数

  从elasticsearch_dsl.connections导入连接

  人脉。create _ connection(hosts=[ localhost ])

  类别文章(文档):

  title=Text(analyzer= ik _ max _ word ,search_analyzer=ik_max_word ,field={ title : Keyword()})

  author=Text()

  类别索引:

  name=myindex

  def save(self,** kwargs):

  返超(文章,自己)。保存(**夸拉)

  if __name__==__main__:

  # Article.init() #创建映射

  # 保存数据

  #文章=文章()

  # article.title=测试测试

  # article.save() #数据就保存了

  #查询数据

  # s=Article.search()

  # s=s.filter(match ,title=测试)

  # results=s.execute()

  #打印(结果)

  #删除数据

  # s=Article.search()

  # s=s.filter(match ,title=测试).删除()

  #修改数据

  # s=Article().搜索()

  # s=s.filter(match ,title=测试)

  # results=s.execute()

  #打印(结果[0])

  #结果[0]。title=xxx

  #结果[0]。保存()

  这就是python使用Elasticsearches的细节以及Django和Flask的集成示例。更多关于python Elasticsearches的Django和Flask集成的信息,请关注热门IT软件开发工作室的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: