使用 POST 方法时查询扩展/同义词
Query Expansion / Synonyms when using POST Method
情况
我们的 Google Search Appliance (Software Version: 7.2.0.G.112)
设置为使用包含例如以下条目的自定义同义词文件扩展查询:{men, mens}
问题
Search Appliance 在响应 GET 请求时似乎使用了这些同义词,但在响应 POST 请求时却没有。请参阅下面的table
+-----------------+-------------+----------------+-----------+
| Request Type | Query | Result Count | Good? |
+-----------------+-------------+----------------+-----------+
| GET | mens | 705 | yes |
| POST | mens | 691 | yes |
| GET | men | 706 | yes |
| POST | men | 88 | no |
+-----------------+-------------+----------------+-----------+
问题
我如何为 POST 请求启用查询扩展/同义词,以便它会 return(大约)相同的结果。
详细请求
获取请求
GET /search?q=men&output=xml_no_dtd&client=default_frontend&
getfields=*&filter=0&start=0&num=25&site=some_value&
requiredfields=(-core__isblocked.core__brandid:brand.
(core__catalog:163%252D2101|(inv__0104|inv__3301))) HTTP/1.1
Host: xxx.xxx.xxx.xxx:80
Cache-Control: no-cache
Post请求
POST /search HTTP/1.1
Host: xxx.xxx.xxx.xxx
Content-Type: application/x-www-form-urlencoded
Content-Length: 242
Cache-Control: no-cache
q=men&output=xml_no_dtd&client=default_frontend&
getfields=*&filter=0&start=0&num=2&site=some_value&
requiredfields=(-core__isblocked.core__brandid:brand.
(core__catalog:163%2D2101|(inv__0104|inv__3301)))
额外问题:为什么 GET 的结果和 "mens" 的 POST 的结果也不同。
您可以在前端设置"Query Expansion Policy"。您确定您对这两个查询使用相同的前端吗?据我所知,GET/POST 方法应该不会影响搜索结果。
为什么 stackflow 不允许我对问题添加评论。天哪..
更新
另外,core__catalog:163 -- 这个值在 GET 和 POST 中是不同的。可能与字符 encoding/decoding 有关?您可以删除所有这些必填字段并只提供 'q' 并查找计数吗?
情况
我们的 Google Search Appliance (Software Version: 7.2.0.G.112)
设置为使用包含例如以下条目的自定义同义词文件扩展查询:{men, mens}
问题
Search Appliance 在响应 GET 请求时似乎使用了这些同义词,但在响应 POST 请求时却没有。请参阅下面的table
+-----------------+-------------+----------------+-----------+
| Request Type | Query | Result Count | Good? |
+-----------------+-------------+----------------+-----------+
| GET | mens | 705 | yes |
| POST | mens | 691 | yes |
| GET | men | 706 | yes |
| POST | men | 88 | no |
+-----------------+-------------+----------------+-----------+
问题
我如何为 POST 请求启用查询扩展/同义词,以便它会 return(大约)相同的结果。
详细请求
获取请求
GET /search?q=men&output=xml_no_dtd&client=default_frontend&
getfields=*&filter=0&start=0&num=25&site=some_value&
requiredfields=(-core__isblocked.core__brandid:brand.
(core__catalog:163%252D2101|(inv__0104|inv__3301))) HTTP/1.1
Host: xxx.xxx.xxx.xxx:80
Cache-Control: no-cache
Post请求
POST /search HTTP/1.1
Host: xxx.xxx.xxx.xxx
Content-Type: application/x-www-form-urlencoded
Content-Length: 242
Cache-Control: no-cache
q=men&output=xml_no_dtd&client=default_frontend&
getfields=*&filter=0&start=0&num=2&site=some_value&
requiredfields=(-core__isblocked.core__brandid:brand.
(core__catalog:163%2D2101|(inv__0104|inv__3301)))
额外问题:为什么 GET 的结果和 "mens" 的 POST 的结果也不同。
您可以在前端设置"Query Expansion Policy"。您确定您对这两个查询使用相同的前端吗?据我所知,GET/POST 方法应该不会影响搜索结果。
为什么 stackflow 不允许我对问题添加评论。天哪..
更新
另外,core__catalog:163 -- 这个值在 GET 和 POST 中是不同的。可能与字符 encoding/decoding 有关?您可以删除所有这些必填字段并只提供 'q' 并查找计数吗?