用于python的弹性站点搜索api客户端

elastic-site-search的Python项目详细描述


Elastic site search logo

travis buildgithub release

< Buff行情>

弹性站点搜索api的第一方python客户端。

内容


入门

您可以使用pip

pip install elastic-site-search

要在本地安装,请克隆此存储库,cd到目录中并运行:

python setup.py install
< Buff行情>

注意:此客户端仅为弹性站点搜索开发。有关其他上下文,请参阅弹性站点搜索api文档。

用法

  1. 创建弹性站点搜索帐户并从帐户设置中获取api密钥。

  2. 配置客户端:

  3. < > >
    fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
    1. 创建一个名为引擎,例如YouTube
    2. < > >
      engine=client.create_engine('youtube')
      1. 创建您的documenttypes:
      2. < > >
        client.create_document_type('youtube','videos');client.create_document_type('youtube','channels');

        索引

        现在您需要创建文档s。考虑创建文档的每个字段的类型非常重要。文档类型属于的文档将记住每个字段类型,并且无法更改它。类型指定了字段功能,您应该明智地选择它们。有关详细信息,请查看我们的字段类型文档

        视频中添加文档文档类型

        client.create_document('youtube','videos',{'external_id':'external_id1','fields':[{'name':'title','value':'Site Search Demo','type':'string'},{'name':'tags','value':['Site Search','Search','Full text search'],'type':'string'},{'name':'url','value':'http://www.youtube.com/watch?v=pITuOcGgpBs','type':'enum'},{'name':'category','value':['Tutorial','Product'],'type':'enum'},{'name':'publication_date','value':'2012-05-08T12:07Z','type':'date'},{'name':'likes','value':31,'type':'integer'},{'name':'length','value':1.50,'type':'float'}]})

        频道中添加文档文档类型

        client.create_document('youtube','channels',{'external_id':'external_id1','fields':[{'name':'title','value':'Elastic','type':'string'},{'name':'url','value':'http://www.youtube.com/user/elasticsearch','type':'enum'},{'name':'video_views','value':15678,'type':'integer'},{'name':'video_counts','value':6,'type':'integer'}]})

        搜索

        现在,您的引擎已准备好接收查询。默认情况下,搜索查询将匹配stringtext类型的任何字段。您可以单独搜索每个文档类型

        video_results=client.search_document_type('youtube','videos','site search')channel_results=client.search_document_type('youtube','channels','site search')

        或立即在引擎上搜索所有文档类型s:

        results=client.search('youtube','site search')

        自动完成

        最后,与全文搜索一样,您也可以执行自动完成样式(前缀匹配)搜索:

        pip install elastic-site-search
        
        0

        pip install elastic-site-search
        
        1

        API文档

        配置:

        向api发出命令,使用api密钥配置客户端:

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')

        您可以在帐户设置中找到您的api密钥。

        搜索

        如果要在引擎中搜索例如站点搜索,可以使用:

        results=client.search('youtube','site search')

        将搜索限制为只搜索视频文档类型:

        pip install elastic-site-search
        
        4

        这两种搜索方法都允许您将选项指定为额外的参数,例如筛选或排序字段。有关这些选项的更多详细信息,请查看搜索选项。下面是一个示例,仅显示类别中的视频教程

        pip install elastic-site-search
        
        5

        自动完成

        自动完成功能与搜索功能相同。您可以使用所有文档自动完成:

        pip install elastic-site-search
        
        0

        或者只针对一种文档类型:

        pip install elastic-site-search
        
        1

        或添加选项以更好地控制结果:

        pip install elastic-site-search
        
        8

        发动机

        检索每个发动机

        pip install elastic-site-search
        
        9

        创建一个名为youtube的新引擎

        engine=client.create_engine('youtube')

        通过slugid检索引擎

        python setup.py install
        
        1

        要删除引擎,您需要引擎的slugid字段:

        python setup.py install
        
        2

        文档类型

        使用slug字段youtube检索引擎的文档类型

        python setup.py install
        
        3

        显示第二批文档:

        python setup.py install
        
        4

        引擎创建一个名为videos的新文档类型

        python setup.py install
        
        5

        通过slugid检索documenttype

        python setup.py install
        
        6

        使用slugid删除文档类型:

        python setup.py install
        
        7

        文档

        检索引擎的所有文档和文档类型

        python setup.py install
        
        8

        使用其id外部id检索特定的文档

        python setup.py install
        
        9

        创建一个新的文档,其中必须有外部id和用户定义的字段:

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
        0

        一次创建多个文档并返回每个文档的状态创建:

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
        1

        更新由id外部id指定的现有文档的字段:

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
        2

        一次更新多个文档

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
        3

        创建或更新文档

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
        4

        一次创建或更新多个文档

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
        5

        销毁文档

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
        6

        一次销毁多个文档

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
        7

        检索引擎的所有

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
        8

        通过id

        fromelastic_site_searchimportClientclient=Client(api_key='YOUR_API_KEY')
        9

        使用urlhttps://elastic.co创建一个新的domain并开始爬网:

        engine=client.create_engine('youtube')
        0

        使用其id删除域

        engine=client.create_engine('youtube')
        1

        使用其id

        engine=client.create_engine('youtube')
        2

        添加或更新域的URL

        engine=client.create_engine('youtube')
        3

        分析

        若要获取过去14天内对引擎的搜索量,请使用:

        engine=client.create_engine('youtube')
        4

        您还可以使用特定的开始和/或结束日期:

        engine=client.create_engine('youtube')
        5

        要获取自动选择的数量(单击自动完成结果),请使用:

        engine=client.create_engine('youtube')
        6

        与搜索一样,您也可以按开始和/或结束日期进行限制:

        engine=client.create_engine('youtube')
        7

        如果您对引擎的顶级查询感兴趣,可以使用:

        engine=client.create_engine('youtube')
        8

        要查看更多热门查询,可以使用以下命令对其分页:

        engine=client.create_engine('youtube')
        9

        或者你可以得到顶级的Querie在特定日期范围内:

        client.create_document_type('youtube','videos');client.create_document_type('youtube','channels');
        0

        如果您想改进搜索结果,您应该始终查看不返回结果的搜索查询,并可能添加一些与此查询匹配的文档,或者使用我们的pining功能添加此查询的文档:

        client.create_document_type('youtube','videos');client.create_document_type('youtube','channels');
        1

        您还可以为无结果查询指定日期范围:

        client.create_document_type('youtube','videos');client.create_document_type('youtube','channels');
        2

        运行测试

        client.create_document_type('youtube','videos');client.create_document_type('youtube','channels');
        3

        常见问题解答

        我应该在哪里向客户报告问题?

        如果有些东西不能按预期工作,请打开问题

        在哪里可以了解有关网站搜索的更多信息?

        您最好阅读文档

        我还能去哪里寻求帮助?

        您可以查看弹性站点搜索社区讨论论坛。

        贡献

        我们欢迎项目的贡献者。在开始之前,请注意…

        • 在打开拉取请求之前,请创建一个问题以讨论建议的范围。
        • 请在适当的时候编写简单的代码和简明的文档。

        许可证

        Apache2.0弹性

        感谢所有的贡献者!

        欢迎加入QQ群-->: 979659372 Python中文网_新手群

        推荐PyPI第三方库


热门话题
java使用和返回方法   java如何为安卓开发设置eclipse?   java为泛型类中的通配符传递任何具体类都会产生错误。为什么?   带有正则表达式过滤器的MongoDB Java驱动程序聚合   运行使用OPENQUERY访问链接服务器的TSQL查询时出现java JDBC错误   java使用GZIP、JSON响应和JQuery   java如何使用onSaveInstanceState保存复选框状态   在Java中根据XSD 1.1验证XML时出错   如何在Java中以编程方式运行GlueGen发射器?   Java PathIterator如何准确计算形状对象的中心?   java在ArraysList对象中查找最小值   javascript JxBrowser LoadURL/LoadHTML   java Apache的HttpClient管理内联URL身份验证吗?   java如何使用failsafe和Junit5测试JPMS服务,而无需创建额外的测试模块?   javascript如何使用HtmlUnit修复从网站加载的所有URL?   java连接AppEngine数据存储和搜索API   Android中的java日期格式日历   eclipse java。awt。机器人连续按键   java字节[]数组在输入SQLITE数据库之前和之后都会发生变化