小编tez*_*tez的帖子

Elasticsearch 多字段模糊搜索不首先返回完全匹配

我正在对“文本”和“关键字”字段执行模糊弹性搜索查询。我在 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)

javascript elasticsearch

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

如何使用 Express 跨端口/域共享 cookie

我有两个 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以接受 …

javascript cookies node.js express

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

为什么使用HTTP / 2时Chrome会排队请求?

我有一个使用HTTP / 2的站点,并且该站点加载图像的速度很慢。查看Chrome的Devtools,大部分时间都花在了“排队”网络对图像的请求上。我的理解是,在使用HTTP / 2的情况下,可以通过同一个TCP连接同时发出多个请求,但是我发现Chrome浏览器仅同时发出6个请求,其余的则排队(就像在使用HTTP / 1.1一样)。我知道它正在使用HTTP / 2,因为“网络”选项卡中的“协议”列显示为“ h2”。

Chrome为什么要对这些请求进行排队而不是并行发送?

在此处输入图片说明

google-chrome nginx http2

5
推荐指数
0
解决办法
676
查看次数