这应该是显而易见的,但事实并非如此.以下两个仅匹配第二个短语(在本例中为"Cape Basin")
"query": {
"match_phrase": {
"contents": {
"query": "St Peter Fm",
"query": "Cape Basin"
}
}
}
"query": {
"match_phrase": {
"contents": {
"query": ["St Peter Fm", "Cape Basin"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
而以下呱呱叫错了
"query": {
"match_phrase": {
"contents": {
"query": "St Peter Fm"
},
"contents": {
"query": "Cape Basin"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想匹配包含的所有文件都 要么 完全相同短语输入.
更新:请参阅上面的更新
我在Postgres有一个简单的表,有超过800万行.感兴趣的列包含短文本字符串,通常一个或多个单词的总长度小于100个字符.它设置为'字符变化(100)'.该列已编入索引.如下所示的简单查看需要> 3000 ms.
SELECT a, b, c FROM t WHERE a LIKE '?%'
Run Code Online (Sandbox Code Playgroud)
是的,目前,需要简单地找到"a"以输入文本开头的行.我希望将查看速度降低到100毫秒以下(瞬间出现).建议?在我看来,全文搜索在这里没有帮助,因为我的文本列太短,但我很乐意尝试,如果有价值.
哦,顺便说一下,我还在mongodb和索引列"a"中加载了完全相同的数据.在mongodb中加载数据非常快(mongodb ++).在进行精确查找时,mongodb和Postgres都非常快速.但是,Postgres实际上在上面进行尾随通配符搜索时会发光,持续时间大约是mongodb的1/3.我很乐意追求mongodb,如果我能加快速度,因为这只是一个只读操作.
更新:首先,几个EXPLAIN ANALYZE输出
EXPLAIN ANALYZE SELECT a, b, c FROM t WHERE a LIKE 'abcd%'
"Seq Scan on t (cost=0.00..282075.55 rows=802 width=40)
(actual time=1220.132..1220.132 rows=0 loops=1)"
" Filter: ((a)::text ~~ 'abcd%'::text)"
"Total runtime: 1220.153 ms"
Run Code Online (Sandbox Code Playgroud)
我实际上想要Lower(a)与搜索词进行比较,搜索词总是至少4个字符,所以
EXPLAIN ANALYZE SELECT a, b, c FROM t WHERE Lower(a) LIKE 'abcd%'
"Seq Scan on t (cost=0.00..302680.04 rows=40612 width=40)
(actual time=4.681..3321.387 rows=788 loops=1)"
" …Run Code Online (Sandbox Code Playgroud) 考虑如下页面(伪代码)
<header>
<search>
<form>
<input text> <input submit>
</form>
</search>
<menu>
<ul>
<li>File</li>
<li>Edit</li>
<li>Text</li>
</ul>
</menu>
</header>
<content></content>
<footer></footer>
Run Code Online (Sandbox Code Playgroud)
当页面加载时,我希望标题显示为10秒,然后在接下来的几秒钟内淡出.我能做到这一点
jQuery.fn.delay = function(time, func){
return this.each(function(){
setTimeout(func, time);
});
};
$("header").delay(5000, function() { $(this).fadeOut(2000) });
Run Code Online (Sandbox Code Playgroud)
问题是,当标题淡出时,页面的其余部分(内容,页脚)会突然占据标题占用的位置.我希望标题有点像"display:block",它的位置永远不会放弃.
然后,在标题消失之后,我想将它带回mouseOver,并在mouseOut上再次淡出.我尝试了以下内容
$("header").hover(function() { $(this).show("slow"); $(this).hide("slow") });
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不起作用.一,标题反弹和反弹,也会导致页面的其余部分向上移动.
我怎样才能达到效果?
我有一个这样的清单
<ul id="a">
<li data-id="i1" data-pk-type="foo bar">sdfsf</li>
<li data-id="i2" data-pk-type="foo">sdfs</li>
<li data-id="i3" data-pk-type="bar baz">sfdsf</li>
<li data-id="i4" data-pk-type="qux foo">sfds</li>
<li data-id="i5" data-pk-type="baz">sdff</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想找到包含给定的所有元素data-pk-type.我正在尝试以下不成功的代码,因为.data("pkType", "foo")实际上将data属性设置为foo;
var $links = $("#a").find("li").data("pkType", "foo");
Run Code Online (Sandbox Code Playgroud)
我可以做点什么
var $links = $("#a").find("li", "[data-pk-type='foo']");
Run Code Online (Sandbox Code Playgroud)
然而,这不会有效...我想要任何可能包含的元素foo.建议?
我从git commit history中删除了大量二进制文件的几个 不同的 线程,但我的问题有点不同.因此,我在这里要了解并确认步骤 -
我的git回购是~/foo.我想从repo中的一个目录中删除所有*.jpg,*.png,*.mp4,*.ogv(等等),特别是从~/foo/public/data.
~/foo/data > find -E . -regex ".*\.(jpg|png|mp4|m4v|ogv|webm)" \
-exec git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch {}' \
--prune-empty --tag-name-filter cat -- --all \;
Run Code Online (Sandbox Code Playgroud)
~/foo/data > cd ..
~/foo > git add .gitignore
~/foo > git commit -m "added binary files to .gitignore"
Run Code Online (Sandbox Code Playgroud)
~/foo > git push origin master --force
Run Code Online (Sandbox Code Playgroud)
我在正确的轨道上面吗?我想在切割一次之前测量两次,所以说.
更新:嗯,上面给我的错误
You need to run this command from the toplevel …Run Code Online (Sandbox Code Playgroud) PouchDB最佳实践建议是使用PUT而不是POST创建新文档(类似于rdbms中的行),主要是因为后者生成随机ID,这使得后续数据排序效率低下.PUT另一方面,需要提供用户生成的唯一ID.
我有点困惑PouchDB似乎没有提供开箱即用的功能.那么,生成唯一的顺序ID(类似于PostgreSQL的序列)的最佳方法是什么?我可以使用类似的东西maxID,但在我看来,主要问题是确保在我确定maxID和实际成功插入记录之间没有其他人插入记录.
建议?
我有像socket这样的数据结构
var s = {
"a": "foo",
"b": 5,
"c": {"d": "a long string"},
"e": {
"f": {
"g": {
"h": [1, 0, -2.1, 1.43]
}
},
"i": {
"j": {
"k": [-3.2, 3.003, 0, 0]
}
}
}
};
Run Code Online (Sandbox Code Playgroud)
我想s在数据库表中存储变量的"a","b","c"和"e"键,以便我可以重新构建它们.我s通过jQuery Ajax POST 发送.这些值将被插入并存储为纯文本("b"除外,它总是一个数字).
ajax: {
url: uri,
type: "POST",
data: s,
dataType: "json",
success: function(data, status) { .. }
}
Run Code Online (Sandbox Code Playgroud)
这是我遇到的问题.在Firebug中我可以看到我的帖子参数......他们真的搞砸了.似乎数据已经在每个元素的层次上被序列化(有点像深度序列化),而我希望像
e={"f":{"g":{"h":[1,0,-2.1,1.43]}},"i":{"j":{"k":[-3.2,3.003,0,0]}}}
Run Code Online (Sandbox Code Playgroud)
更新:相反,我得到以下(我没有转义下面的字符串,所以它更可读)
a=foo&b=5&c[d]=a long string&e[f][g][h][]=1&e[f][g][h][]=0&e[f][g][h][]=-2.1&e[f][g][h][]=1.43
Run Code Online (Sandbox Code Playgroud)
也许我这样做是错误的,所以请随时指导我更好的方式.
我通过xhr调用创建了一堆矢量图层,并希望将其添加到图层组并将该图层组添加到图层控件.我的想法是
1. Add a layer control to the map with only the base layer in the control
2. Create a layer via `xhr`
2.1. Check if layer group LG exists in layer control
2.1.1. If yes, add layer to LG
2.1.2. If no, add layer group LG to layer control and add layer to LG
3. Repeat #2 above.
Run Code Online (Sandbox Code Playgroud)
好吧,我尝试了上面的(没有图层组部分)并且可以工作(下面的代码).
LC = L.control.layers({'OSM': osm}).addTo(map);
Run Code Online (Sandbox Code Playgroud)
然后
x.onload = function(e) {
if (x.readyState === 4) {
if (x.status === 200) …Run Code Online (Sandbox Code Playgroud) 我在MySQL中有一列WKT POLYGON值(我继承了db).在Google地图上查询和渲染多边形.由于Google地图多边形叠加需要一个点数组,因此前一个用户将WKT值转换为坐标对并将它们存储在另一列中.这实际上运作得相当好,但还不够好.
首先,转换有时是错误的,而对于两个,我正在寻找方法来加快速度.
回覆.第一个问题,我必须重新实现这个,我正在寻找一个转换器,将WKT多边形转换为一串坐标.我想我可以使用它来编写一个存储过程来查询WKT列并吐出一串JSON文本,这些文本可以很容易地转换为Google Maps多边形,甚至可以预处理所有WKT多边形并将它们存储为文本它已经完成,但这次是正确的值.
所以,我真的在寻找一个函数来将WKT转换为其组成点坐标的字符串,有点像这样
SELECT AsStringOfCoords(WKT_Column) FROM table WHERE condition
Run Code Online (Sandbox Code Playgroud)
哪里AsStringOfCoords()是我的自定义功能.
我不确定JSON值中是否允许换行符.我当然无法在JSON中创建以下内容
{"foo": "I am not sure if line breaks are
allowed in JSON values. I certainly
am unable to create the following in JSON"}
Run Code Online (Sandbox Code Playgroud)
以下肯定不起作用
{"foo": "I am not sure if line breaks are\nallowed in JSON values. I certainly\nam unable to create the following in JSON"}
Run Code Online (Sandbox Code Playgroud)
序言:我想向浏览器或控制台应用程序发送如上所述的长消息,并将其显示为整齐格式,以便用户清晰可读.
jquery ×3
html ×2
javascript ×2
json ×2
ajax ×1
git ×1
google-maps ×1
leaflet ×1
line-breaks ×1
match-phrase ×1
mongodb ×1
mysql ×1
newline ×1
postgresql ×1
pouchdb ×1
wkt ×1