小编dan*_*elo的帖子

在Elasticsearch查询字符串查询的短语中使用通配符

使用通配符运算符,我可以匹配从某个值开始的术语:

{
    "query": {
        "query_string" : {
            "query" : "subject:cell*"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

subject这里的字段是一个keyword字段(未分析).这很好,但我无法弄清楚如何找到以"蜂窝控制"开头的术语.尝试双引号没有产生预期的结果:

{
    "query": {
        "query_string" : {
            "query" : "subject:\"cellular contr*\""
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:短语搜索在完全匹配时工作正常,而不是通配符.我猜测星号不会被解释为双引号内的通配符运算符.那是对的吗?还有其他方法可以使用带有短语的通配符运算符吗?

注意:我必须使用查询字符串查询,因为查询来自用户输入.

(我知道我可以诉诸regexp,但不愿意)

elasticsearch

7
推荐指数
2
解决办法
4952
查看次数

使用docker-compose时如何增加BUILDKIT_STEP_LOG_MAX_SIZE?

当使用 docker-compose 构建项目时,过了一会儿我得到了

[output clipped, log limit 1MiB reached]
Run Code Online (Sandbox Code Playgroud)

https://github.com/docker/buildx/issues/484#issuecomment-812997137中,我了解到创建 buildx 构建器时可以更改日志大小限制BUILDKIT_STEP_LOG_MAX_SIZE,但如何设置它docker-compose.yml?在 args 或环境中设置它似乎不起作用。

我知道我可以禁用 BuildKit 作为解决方法:COMPOSE_DOCKER_CLI_BUILD=0 DOCKER_BUILDKIT=0 docker-compose build

docker-compose buildx

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

本地npm安装不会为"bin"可执行文件创建符号链接

如果我创建一个最小package.json文件:

{
  "name": "cli-test",
  "version": "1.0.0",
  "bin": "index.js",
  "main": "index.js"
}
Run Code Online (Sandbox Code Playgroud)

和一个index.js文件:

#!/usr/bin/env node
console.log("Hello")
Run Code Online (Sandbox Code Playgroud)

并运行npm install,为什么不为我的文件npm创建./node_modules/.bin/cli-test符号链接index.jspackage.json文档在"bin"上说明了这一点:

在安装时,npm会将该文件符号链接到prefix/bin全局安装或./node_modules/.bin 本地安装.

如果我这样做npm install -g,则会创建一个符号链接,但我不想进行全局安装.我正在使用节点6.10.3和npm 3.10.10.也试过npm 5.0.4.

node.js npm-install

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