小编Abh*_*ari的帖子

用于python的Elasticsearch客户端,没有解决方案

我选择了带有graylog2的elasticsearch,这是非常糟糕的一周.我正在尝试使用Python对ES中的数据运行查询.

我试过跟随客户.

  1. ESClient - 非常奇怪的结果,我认为它没有维护,query_body没有效果它返回所有结果.
  2. Pyes - 不可读,无证.我浏览了一些资源,无法弄清楚如何运行一个简单的查询,也许我不是那么聪明.我甚至可以用json格式运行基本查询,然后只使用Python对象/迭代器对结果进行分析.但Pyes并不容易.
  3. Elasticutils - 另一个记录,但没有完整的样本.附加代码时出现以下错误.我甚至不知道它如何使用这个S()连接到正确的主机?

    es = get_es(hosts = HOST,default_indexes = [INDEX])

    basic_s = S().索引(INDEX).doctypes(DOCTYPE).values_dict()

结果:

 print basic_s.query(message__text="login/delete")
  File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 223, in __repr__
    data = list(self)[:REPR_OUTPUT_SIZE + 1]
  File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 623, in __iter__
    return iter(self._do_search())
  File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 573, in _do_search
    hits = self.raw()
  File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 615, in raw
    hits = es.search(qs, self.get_indexes(), self.get_doctypes())
  File "/usr/lib/python2.7/site-packages/pyes/es.py", line 841, in search
    return self._query_call("_search", body, indexes, doc_types, **query_params)
  File "/usr/lib/python2.7/site-packages/pyes/es.py", line 251, in …
Run Code Online (Sandbox Code Playgroud)

python elasticsearch pyes

8
推荐指数
3
解决办法
8772
查看次数

aws sdk php用于列出s3文件夹

我知道的一些事情.文件夹不是S3的概念,它们只是一个零字节对象,其键名使用'/'作为前缀.假设我们称它们为文件夹和文件以简单起见会使我的问题更容易用语.

可以使用prefix ="root /"执行s3-> get_object_list(..)并获取所有文件/文件夹.我的问题是这个.

给出例如文件夹和子文件夹的列表

root/  
root/folder1/  
root/folder1/file1.txt  
root/folder2/ 
root/folder3/file2.txt
Run Code Online (Sandbox Code Playgroud)

我怎样才能列出文件夹.我希望阻止列出所有文件(即使在回复时他们不需要返回)但是php中的get_object_list当前不支持commonPrefixes参考:http://docs.amazonwebservices.com/AWSSDKforPHP/latest/#m=AmazonS3/get_object_list 甚至虽然文档说明代码显然没有,并且使用分隔符实际上只会返回根文件夹中的文件(前缀)

我想知道是否有人使用任何技术后回应或请求帮助这种情况.

我已经尝试了我能想到的前缀,分隔符和标记的每个组合.对PCRE不太好,但我确定我可以使用我只有一个级别的深层文件夹,但我不知道如何为这种情况构建一个.由于我的请求不起作用,我继续接受所有文件和文件夹的响应,并希望在php中排序...或者我认为

我在post post响应中尝试过:dirname() - 没有使用错过了一些文件夹(空的),确定我可以删除数组中的重复项但错过文件夹的问题存在pathinfo() - 行为与dirname()相同,假设所有路径都以文件名结尾.glob - 没有运气,和上面一样.

因为我已经浪费了半天的时间,所以我希望有人处理过这个问题并愿意分享:

注意:我在python和boto中执行此操作没有问题.但这不是python,我必须在PHP中为此项目执行此操作.

php amazon-s3 amazon-web-services

7
推荐指数
1
解决办法
6724
查看次数

使用http:// upfront将网站的URL格式化为字符串

我有一个评论系统,允许自动链接网址.我正在使用cakephp,但解决方案更像是PHP.这是正在发生的事情.

如果用户输入完全合格的网址http://https://一切都很好.但如果他们进入www.scoobydoobydoo.com它就变成了http://cool-domain.com/www.scoobydoobydoo.com.基本上cakephp知道http | https是一个外部URL,所以它不能与http | https一起使用.

我的想法是在url上做一些str的东西,并让它插入http,如果不存在.不幸的是,无论我尝试什么只会让它变得更糟 我是菜鸟:)任何帮助/指针表示赞赏.

谢谢

编辑:发布解决方案片段.可能不是最好的,但多亏了答案,至少我有一些东西.

<?php
        $proto_scheme = parse_url($webAddress,PHP_URL_SCHEME);
    if((!stristr($proto_scheme,'http')) || (!stristr($proto_scheme,'http'))){
        $webAddress = 'http://'.$webAddress;
    }
?>
Run Code Online (Sandbox Code Playgroud)

php regex string url formatting

4
推荐指数
2
解决办法
6176
查看次数

sleekxmpp pubsub的例子

我正在寻找一个实现SleekXMPP XEP 60插件的工作示例代码.我想要做的是通过TLS进行身份验证并订阅一个名为"blogupdates"的节点然后只需等待事件并获取包含的数据我已经搜索了几天但我找不到一个好的工作示例google或SO

请注意,我不是订阅用户而是订阅节点,因此发布者可以是任何人.

任何帮助?

python xmpp publish-subscribe

4
推荐指数
1
解决办法
3446
查看次数

使用python urllib如何避免非HTML内容

我正在使用urllib(注意不是urllib2)并从用户提供的URL获取页面标题.不幸的是,有时url不是HTML,而是远程站点上的一些大文件或一些非常长的运行进程.

我已经检查了python文档,但是urllib是有限的,看看源代码,我似乎可以改变它,但我不能在服务器上这样做.提到了info()但没有关于如何实现它的例子.

我正在使用FancyURLopener,我猜在urllib2中不可用,我不知道urllib2是否可以解决问题

  1. 有没有办法定义套接字超时?
  2. 更重要的是,我如何仅限制请求到HTML/XHTML内容类型并完全忽略其他任何内容,即我想确保不下载整个内容

我仍然通过urllib源和检查urllib2,但我不是这些工具的专家.

python limits content-type urllib

2
推荐指数
1
解决办法
2467
查看次数

nginx httpsubmodule替换html内容

我刚刚遇到了nginx httpsubmodule.我想这可能有助于我做到这一点.

我有HTML页面是静态的,我想在输出html中使用uri部分.例如我的静态URL是http://static.mydomain.com/pic1234.html所以在页面中我想显示单词"pic1234".我不能使用javascript,因为我想为静态页面生成HTML元数据.

可以这样做吗?如果是这样的话?我找不到任何例子.我发现的只有http://wiki.nginx.org/NginxHttpSubModule

请注意,我在服务nginx服务器的静态文件上没有cgi或程序.

static http nginx

2
推荐指数
1
解决办法
6531
查看次数

一个简单的python程序,我很难过

m = 0
for i in range(1,1000):
    if i % 3 == 0 or i % 5 == 0:
        m += m
print m
Run Code Online (Sandbox Code Playgroud)

这给出0了答案.答案应该是233168.

在我的IDE中结束的行可能是个问题吗?我正在使用pycharm.

编辑:注意自己 - 休息一下.我一发布这个就找到了错字.在此之前我遇到了ide和line结尾的问题.无论如何,谢谢:)巨魔走了

python range augmented-assignment

1
推荐指数
1
解决办法
78
查看次数