如何在字符串字段中插入单个反斜杠 - solr
How insert a single backslash in a string field - solr
在我的 SOLR 集合中,我有一个带有正则表达式的字符串字段,名为“regex”表示日期。
我需要为日期插入一个包含单个反斜杠的正则表达式,但我无法使用文档更新 JSON 界面插入它:
如果我在正则表达式字段中插入一个反斜杠:
{
"id":"a0091da5-2e6c-41d8-97a4-a19fc3c43002",
"attribute_name": "ArrivalTime",
"allowed_values": "Date and Time",
"regex": "\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?Z?"
}
在我收到的查询响应中没有:
"regex":"d{4}-[01]d-[0-3]dT[0-2]d:[0-5]d:[0-5]d(?:.d+)?Z?"
相反,如果我在正则表达式字段中插入 2 个反斜杠:
{
"id":"a0091da5-2e6c-41d8-97a4-a19fc3c43002",
"attribute_name": "ArrivalTime",
"allowed_values": "Date and Time",
"regex": "\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?Z?"
}
我收到 2 个反斜杠:
"regex":"\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:.\d+)?Z?"
如何只插入一个反斜杠?谢谢
响应是应该的 - 因为它是 JSON,反斜杠也需要在响应中转义:否则语义将是你给出的例子(d{4}-[01]d...
).
当您将响应解析为 JSON 时,该字符串将被取消转义并且内容将是您所期望的(除非您再次在输出中进一步转义)。
在我的 SOLR 集合中,我有一个带有正则表达式的字符串字段,名为“regex”表示日期。
我需要为日期插入一个包含单个反斜杠的正则表达式,但我无法使用文档更新 JSON 界面插入它:
如果我在正则表达式字段中插入一个反斜杠:
{
"id":"a0091da5-2e6c-41d8-97a4-a19fc3c43002",
"attribute_name": "ArrivalTime",
"allowed_values": "Date and Time",
"regex": "\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?Z?"
}
在我收到的查询响应中没有:
"regex":"d{4}-[01]d-[0-3]dT[0-2]d:[0-5]d:[0-5]d(?:.d+)?Z?"
相反,如果我在正则表达式字段中插入 2 个反斜杠:
{
"id":"a0091da5-2e6c-41d8-97a4-a19fc3c43002",
"attribute_name": "ArrivalTime",
"allowed_values": "Date and Time",
"regex": "\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?Z?"
}
我收到 2 个反斜杠:
"regex":"\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d(?:.\d+)?Z?"
如何只插入一个反斜杠?谢谢
响应是应该的 - 因为它是 JSON,反斜杠也需要在响应中转义:否则语义将是你给出的例子(d{4}-[01]d...
).
当您将响应解析为 JSON 时,该字符串将被取消转义并且内容将是您所期望的(除非您再次在输出中进一步转义)。