我正在尝试搜索范围内有日期字段的所有项目,但它失败(不返回结果)
查询:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"last_updated": {
"from": "2013-01-01 00:00:00"
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
映射:
{
"my_doctype": {
"_timestamp": {
"enabled": "true"
},
"properties": {
"cards": {
"type": "integer"
},
"last_updated": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
结果是:
{
took: 1
timed_out: false
_shards: {
total: 1
successful: 1
failed: 0
}
hits: {
total: 0
max_score: null
hits: [ ]
}
} …Run Code Online (Sandbox Code Playgroud) 我需要索引3个级别(或更多)的child-parent.例如,级别可能是作者,书籍和该书中的字符.
但是,当索引超过两个级别时,has_child和has_parent查询和过滤器存在问题.如果我有5个分片,当在最低级别(字符)上运行"has_parent"查询或在第二级(书籍)上运行has_child查询时,我得到大约五分之一的结果.
我的猜测是,一本书通过它的父ID被索引到一个碎片,因此它将与他的父(作者)一起驻留,但是一个角色根据书籍ID的散列被索引到一个碎片,这不一定符合本书编入索引的实际分片.
因此,这意味着同一作者的所有书籍都不一定存在于同一个碎片中(真正破坏整个孩子 - 父母的优势).
难道我做错了什么?我如何解决这个问题,因为我真的需要复杂的查询,例如"作者用女性角色写书".
我疯狂地表达了这个问题,请访问:https: //gist.github.com/eranid/5299628
底线是,如果我有一个映射:
"author" : {
"properties" : {
"name" : {
"type" : "string"
}
}
},
"book" : {
"_parent" : {
"type" : "author"
},
"properties" : {
"title" : {
"type" : "string"
}
}
},
"character" : {
"_parent" : {
"type" : "book"
},
"properties" : {
"name" : {
"type" : "string"
}
}
}
Run Code Online (Sandbox Code Playgroud)
和5个分片索引,我不能用"has_child"和"has_parent"查询
查询:
curl -XPOST 'http://localhost:9200/index1/character/_search?pretty=true' -d '{
"query": { …Run Code Online (Sandbox Code Playgroud) 我需要设置超时urllib2.request().
我不使用,urllib2.urlopen()因为我使用的data参数request.我怎么设置这个?
我想从远程计算机下载大量数据.我希望每次文件完成下载时都要在远程机器上擦除数据.
我怎么做?是否有rsync的标志来执行此操作?
我正在尝试启动集群并使用boto运行所有作业.我找到了许多创建job_flows的例子.但我不能为我的生活找到一个例子,表明:
我错过了什么吗?
我正在尝试找到一些在使用sublime时会自动格式化python代码的包.
有PythonTidy,但是当我使用PackageController时,它表示安装已完成但未安装包(不会出现在首选项中).
我确实按照以下说明进行了尝试:https: //github.com/witsch/SublimePythonTidy
当我在python中"pip安装"包时,sublime将无法加载,抛出:
terminate called after throwing an instance of 'boost::python::error_already_set'
/usr/bin/subl: line 3: 12415 Aborted
/usr/lib/sublime-text-2/sublime_text --class=sublime-text-2 "$@"
Run Code Online (Sandbox Code Playgroud)
如何在没有PackageController的情况下安装它,或者任何人都可以推荐另一个包?
我有兴趣创建我自己的haar cascade xml文件,用于python,以检测某个徽标(让我们说它是苹果徽标).
我已尝试按照http://docs.opencv.org/trunk/doc/user_guide/ug_traincascade.html 和 http://note.sonots.com/SciSoftware/haartraining.html上的说明进行操作
问题是,虽然我得到了一个有效的功能级联文件,但它没有检测到任何东西.具体来说,当我尝试检测用于创建它的原始图像内的对象时,即使这样也不会检测到它.
我已经尝试过调整图像大小,或者只是将其插入图片中,然后将其放在更大的上下文中.
我究竟做错了什么?
在shell,我运行:
opencv_createsamples -img original.jpg -bg negatives.dat -vec samples_set.vec -w 48 -h 48
opencv_traincascade -bg negatives.dat -data mycascade -vec samples_set.vec -w 48 -h 48
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,创建一个级联文件.然后,在python中:
import cv2
cascade2 = cv2.CascadeClassifier('mycascade.xml')
cv2Image = cv2.imread('original.jpg')
cascade2.detectMultiScale(cv2Image)
Run Code Online (Sandbox Code Playgroud)
并且检测结果为空.我确实尝试使用python附带的"标准"xml进行测试并且它有效,所以我的错误.
为什么在能够通过它过滤查询时看不到_timestamp字段?
以下查询返回正确的文档,但不返回时间戳本身.我该如何返回时间戳?
{
"fields": [
"_timestamp",
"_source"
],
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"_timestamp": {
"from": "2013-01-01"
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
映射是:
{
"my_doctype": {
"_timestamp": {
"enabled": "true"
},
"properties": {
"cards": {
"type": "integer"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
样本输出:
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"hits" : {
"total" : 2,
"max_score" : 1.0, …Run Code Online (Sandbox Code Playgroud) 假设我有一个只能有一组有限值的字段.将它存储为某种ENUM会不会更有效(指数方式和/或存储方式)?
在弹性搜索中是否存在某种可能性?
一个例子是状态机中状态的名称.
我想将uniq命令的输出以逗号分隔,以便代替:
30 hello
31 world
36 hey_there
142 i_am_bigest
Run Code Online (Sandbox Code Playgroud)
我去拿:
30,hello
31,world
36,hey_there
142,i_am_biggest
Run Code Online (Sandbox Code Playgroud)
我的输入没有空格,但只是使用sed或tr可能是一个问题,因为前导空格的数量根据计数中的小数位数而变化.