gpt4 book ai didi

curl - Solr 通过 CURL 查询 - [globbing] 列中的错误范围

转载 作者:行者123 更新时间:2023-12-04 00:06:13 28 4
gpt4 key购买 nike

我在 Solr 中有一个名为 test 的核心。我在其中摄取了 2 个嵌套的 JSON 文档。它们如下:

{"id":1, "path":"1.parent", "_childDocuments_":{"path":"2.parent.child"}}

还有

{"id":2, "path":"1.parent", "_childDocuments_":{"path":"2.parent.child"}}

当我通过浏览器查询 test 核心以获取父子关系中的响应时,我更正了响应:

http://localhost:8983/solr/test/select?fl=*,[child%20parentFilter=path:1.parent%20childFilter=path:2.parent.child]&indent=on&q={!parent%20which=%22path:1.parent%22}&wt=json

{
"responseHeader":{
"status":0,
"QTime":2,
"params":{
"q":"{!parent which=\"path:1.parent\"}",
"indent":"on",
"fl":"*,[child parentFilter=path:1.parent childFilter=path:2.parent.child]",
"wt":"json"}},
"response":{"numFound":2,"start":0,"docs":[
{
"id":"1",
"path":["1.parent"],
"_childDocuments_.path":["2.parent.child"],
"_version_":1565913168462479360},
{
"id":"2",
"path":["1.parent"],
"_childDocuments_.path":["2.parent.child"],
"_version_":1565913171789611008}]
}}

但是当我尝试通过 curl 运行相同的查询时,它显示错误:

$ curl 'http://localhost:8983/solr/test/select?fl=*,[child%20parentFilter=path:1.parent%20childFilter=path:2.parent.child]&indent=on&q={!parent%20which=%22path:1.parent%22}&wt=json'
curl: (3) [globbing] bad range in column 46

我无法理解通过。虽然,我可以理解 curl 请求在 column 46 上给出错误,这是 http 中的特殊字符 [ > 请求。但是,那么它是如何在浏览器中工作的以及我们如何通过 curl 使这个请求工作?

最佳答案

只需传给curl参数-g/--globoff

This option switches off the "URL globbing parser". When you setthis option, you can specify URLs that contain the letters {}[]without having them being interpreted by curl itself. Note thatthese letters are not normal legal URL contents but they should be
encoded according to the URI standard.

另一方面,浏览器静默转换字母{}[]并成功提交查询。

所以你所要做的就是在提交之前使用 curl 参数或对查询字符串进行编码。

我想这种方式应该可以工作:

curl --globoff 'http://localhost:8983/solr/test/select?fl=*,[child%20parentFilter=path:1.parent%20childFilter=path:2.parent.child] &indent=on&q={!parent%20which=%22path:1.parent%22}&wt=json'

关于curl - Solr 通过 CURL 查询 - [globbing] 列中的错误范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43676800/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com