zoukankan      html  css  js  c++  java
  • DAY 120 ES---Django/Flask集成

    Elasticsearch之-Django/Flask集成

    一 elasticsearch-dsl

    #安装: pip3 install elasticsearch-dsl
    #示例
    from datetime import datetime
    from elasticsearch_dsl import Document, Date, Nested, Boolean,
       analyzer, InnerDoc, Completion, Keyword, Text

    html_strip = analyzer('html_strip',
       tokenizer="standard",
       filter=["standard", "lowercase", "stop", "snowball"],
       char_filter=["html_strip"]
    )

    class Comment(InnerDoc):
       author = Text(fields={'raw': Keyword()})
       content = Text(analyzer='snowball')
       created_at = Date()

       def age(self):
           return datetime.now() - self.created_at

    class Post(Document):
       title = Text()
       title_suggest = Completion()
       created_at = Date()
       published = Boolean()
       category = Text(
           analyzer=html_strip,
           fields={'raw': Keyword()}
      )

       comments = Nested(Comment)

       class Index:
           name = 'blog'

       def add_comment(self, author, content):
           self.comments.append(
             Comment(author=author, content=content, created_at=datetime.now()))

       def save(self, ** kwargs):
           self.created_at = datetime.now()
           return super().save(** kwargs)

    二 django集成

    from datetime import datetime
    from elasticsearch_dsl import Document, Date, Nested, Boolean,analyzer, InnerDoc, Completion, Keyword, Text,Integer

    from elasticsearch_dsl.connections import connections

    connections.create_connection(hosts=["localhost"])


    class Article(Document):
       title = Text(analyzer='ik_max_word', search_analyzer="ik_max_word", fields={'title': Keyword()})
       author = Text()

       class Index:
           name = 'myindex'

       def save(self, ** kwargs):
           return super(Article, self).save(** kwargs)


    if __name__ == '__main__':
       # Article.init() # 创建映射
       # 保存数据
       # article = Article()
       # article.title = "测试测试"
       # article.save() # 数据就保存了

       #查询数据
       # s=Article.search()
       # s = s.filter('match', title="测试")
       #
       # results = s.execute()
       # print(results)

       #删除数据
       # s = Article.search()
       # s = s.filter('match', title="测试").delete()

       #修改数据
       # s = Article().search()
       # s = s.filter('match', title="测试")
       # results = s.execute()
       # print(results[0])
       # results[0].title="xxx"
       # results[0].save()

     

  • 相关阅读:
    Appium+python自动化20-查看iOS上app元素属性【转载】
    Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP【转载】
    Appium+python自动化18-brew、carthage和appium-doctor【转载】
    Appium+python自动化17-启动iOS模拟器APP源码案例【转载】
    Appium+python自动化16-appium1.6在mac上环境搭建启动ios模拟器上Safari浏览器【转载】
    Appium+python自动化15-在Mac上环境搭建【转载】
    Centos-清屏命令-clear
    Centos-切换用户身份-su
    Centos-修改密码-passwd
    Centos-显示或修改系统时间与日期-date
  • 原文地址:https://www.cnblogs.com/DEJAVU888/p/14921875.html
Copyright © 2011-2022 走看看