我正在对“文本”和“关键字”字段执行模糊弹性搜索查询。我在 elasticsearch 中有两个文档,一个是“text”“testPhone 5”,另一个是“testPhone 4s”。当我使用“testPhone 5”执行模糊查询时,我看到两个文档都被赋予了完全相同的分数值。为什么会出现这种情况?
额外信息:我正在使用“uax_url_email”标记器和“小写”过滤器为文档编制索引。
这是我正在做的查询:
{
query : {
bool: {
// match one or the other fuzzy query
should: [
{
fuzzy: {
text: {
min_similarity: 0.4,
value: 'testphone 5',
prefix_length: 0,
boost: 5,
}
}
},
{
fuzzy: {
keywords: {
min_similarity: 0.4,
value: 'testphone 5',
prefix_length: 0,
boost: 1,
}
}
}
]
}
},
sort: [
'_score'
],
explain: true
}
Run Code Online (Sandbox Code Playgroud)
这是结果:
{ max_score: 0.47213298,
total: 2,
hits:
[ { _index: 'test',
_shard: …Run Code Online (Sandbox Code Playgroud) 我有两个 node.js (express) 应用程序在两个不同的端口上运行。一个正在运行,localhost:3000另一个正在运行localhost:4000。端口3000上的应用程序具有以下 cookie 配置:
app.use(express.cookieParser())
app.use(express.session({
key: settings.session.key,
secret: settings.session.secret,
cookie: settings.session.cookie,
fingerprint: function () { return '' },
store: new MemoryStore()
}))
Run Code Online (Sandbox Code Playgroud)
另一个应用程序(在端口上4000)有:
app.use(express.cookieParser())
app.use(express.session({
key: settings.session.key,
secret: settings.session.secret,
cookie: settings.session.cookie,
fingerprint: function() { return '' },
store: new MongoSessionStore({ db: db })
}))
Run Code Online (Sandbox Code Playgroud)
它们都使用相同的会话配置对象(唯一的区别是一个存储在 MongoDB 中,而另一个存储在内存中。
我像这样设置了一个cookie localhost:3000:
res.cookie('mycookie', 'bar', { domain: 'localhost:4000' })
Run Code Online (Sandbox Code Playgroud)
然后我 POST(使用 jquery.ajax)到 上的路由localhost:4000,并且 cookiemycookie不存在。
注意:我设置了 CORSlocalhost:4000以接受 …
我有一个使用HTTP / 2的站点,并且该站点加载图像的速度很慢。查看Chrome的Devtools,大部分时间都花在了“排队”网络对图像的请求上。我的理解是,在使用HTTP / 2的情况下,可以通过同一个TCP连接同时发出多个请求,但是我发现Chrome浏览器仅同时发出6个请求,其余的则排队(就像在使用HTTP / 1.1一样)。我知道它正在使用HTTP / 2,因为“网络”选项卡中的“协议”列显示为“ h2”。
Chrome为什么要对这些请求进行排队而不是并行发送?