Google Search Appliance:当值包含括号时,如何按部分字段进行过滤()

时间:2013-10-10 15:09:03

标签: urlencode google-search-appliance

尝试使用partialfields参数在包含括号的值的元标记上进行搜索时出现问题。

以下网址是我们在尝试搜索元标记为

的结果时生成的内容
  • department_code = abcxyz
  • region_code = Asia (excl Japan)

我们生成的用于调用GSA的URL与此类似:

?oe=UTF-8&output=xml_no_dtd&client=my_client&getfields=*&filter=0&site=my_site&start=0&num=100&q=foo&sort=date:D:S:d1
 &partialfields=%28department_codes%3Aabc%7Cdepartment_codes%3Axyz%29.%28region_code%3AAsia+%2528excl Japan%2529%29

文档向double URL-encode说明了名称和值。我以为我做过这个。从http://meyerweb.com/eric/tools/dencoder/中的%28region_code%3AAsia+%2528excl Japan%2529%29开始。

点击解码后,我得到:(region_code:Asia %28excl Japan%29)

再次点击解码后,我得到:(region_code:Asia (excl Japan))

对我而言,这听起来像我已经编码了两次。

我做错了什么?如何在URL中编码元标记值?

1 个答案:

答案 0 :(得分:0)

根据GSA文档,除小数点,符号和下划线以外的任何非字母数字字符在必填字段和部分字段中被视为空格:

http://www.google.com/support/enterprise/static/gsa/docs/admin/70/gsa_doc_set/xml_reference/request_format.html#1077773

所以,我认为你不需要编码括号。或者更确切地说,将它们编码为空格(%25%20)。

也就是说,未来更容易通过机器可读的元数据为您提供更好的服务。