【发布时间】:2016-08-15 11:21:14
【问题描述】:
我有映射为“not_analyzed”的字符串字段。 每个字符串都有'>'符号,需要用它找到一些字符串。
字符串例如)
一>二>树>四>...
通过以下查询,我可以获得预期的结果。
“查询”:{ “通配符”:{ “活动序列”:{ “价值”:“一个*” } } }
但是当在值中添加'>'时,它不是。
“查询”:{ “通配符”:{ “活动序列”:{ “价值”:“一>*” } } }
或
“查询”:{ “通配符”:{ “活动序列”:{ “价值”:“一>*” } } }
对此有任何想法吗?
文档样本
{ “_index”:“pm”,“_type”:“dmcase_00090”,“_id”: “AVQ7Wjht0bpb6L5Mykw7”,“_version”:1,“_score”:1,“_source”:{ "endat": "1970-01-12T06:08:00+09:00", "startat": “1970-01-06T23:02:00+09:00”,“活动序列”: "MakeTicket>FirstContact>ArrangeSurvey>MakeTicket>InformClientSurvey>ArrangeSurvey>Survey>Survey>InternRepair>RepairReady>InternRepair>SendTicketToFinAdmin>TicketReady>ReadyInformClient", “事件”:[ { ...一些事件
查询+结果
1.
“查询”:{ “通配符”:{ “活动序列”:{ “价值”:“maketicket*” } } }
结果:数据符合我的预期
2.
“查询”:{ “通配符”:{ “活动序列”:{ “价值”:“maketicket>*” } } }
结果
“命中”:{ “总计”:0, “最大分数”:空, “命中”:[] }
3.
“查询”:{ “通配符”:{ “activityseq.raw”:{ “价值”:“maketicket*” } } }
结果
“命中”:{ “总计”:0, “最大分数”:空, “命中”:[] }
4.
“查询”:{ “通配符”:{ “活动序列”:{ “价值”:“maketicket>*” } } }
结果
"caused_by": { “类型”:“json_parse_exception”, “原因”:“无法识别的字符转义 '>'(代码 62)\n 在 [Source: [B@61201912; line: 5, column: 37]” }
【问题讨论】:
-
我已经尝试过了,上述所有查询都按预期返回了文档。您可以使用从
curl -XGET localhost:9200/your_index获得的输出更新您的问题吗(重命名your_index以匹配您的实际索引名称)? -
"myTable": { "properties": { "seqstring": { "type": "string", "fields": { "raw": { "type": "string", " index": "not_analyzed" } } },这是我的元数据的一部分。