我正在使用alfresco并尝试执行这些查询,
这些是我的疑问。
第一
路径:" /应用:company_home / ST:点/ cm:swsdp /厘米:dataLists /厘米:aea88103-517e-4aa0-a3be-de258d0e6465 // *"
第一个查询工作正常,但第二个查询无法解析
第二
+路径:" /应用:company_home / ST:swsdp /厘米:/厘米:dataLists /厘米:9787a75b-cbc9-4d42-b76c-df88461e62c6 // *"
例外: 无法解析' +路径:" / app:company_home / st:swsdp / cm:/ cm:dataLists / cm:9787a75b-cbc9-4d42-b76c-df88461e62c6 // *" AND + TYPE:" fdm:formDatalist"':无法解析XPath ... 意外的' 9787'
我尝试逃避但仍然变得相同。
+路径:" /应用:company_home / ST:swsdp /厘米:/厘米:dataLists /厘米:9787a75b \ -cbc9 \ -4d42-b76c \ -df88461e62c6 //
我注意到在第一次查询中 cm:aea88103-517e-4aa0-a3be-de258d0e6465 以后者开头但在第二次查询中 cm:9787a75b-cbc9-4d42-b76c-df88461e62c6 这包含启动时的数字,以便它无法解析。
请解决此错误。
答案 0 :(得分:3)
对于lucene PATH查询,某些字符需要以hexa编码。
您需要以这种方式对路径进行编码:
var rawString = "//test:123 DIR/FILE.TXT @";
=> rawString: //test:123 DIR/FILE.TXT @
var encodedString = search.ISO9075Encode(rawString);
=> encodedString: _x002f__x002f_test_x003a_123_x0020_DIR_x002f_FILE.TXT_x0020__x0040_
var decodedString = search.ISO9075Decode(encodedString);
=> decodedString: //test:123 DIR/FILE.TXT @
有关详细信息,请参阅alfresco文档:http://docs.alfresco.com/5.2/references/API-JS-iso9075Encode.html