来自Azure搜索资源管理器和Bot的结果的搜索分数不匹配

时间:2018-08-15 11:08:19

标签: botframework bots azure-search

我正在从chatBot搜索相同的文本字符串,该字符串将该字符串传递给azure搜索,但是我得到的结果顺序与从Azure门户在azure搜索资源管理器中显示的结果顺序不同。

这是我的天蓝色搜索功能。

    module.exports = function () {
    global.request = require('request');

    global.searchQueryStringBuilder = function (query) {
        return queryString + query;
    }

    global.performSearchQuery = function (queryString, callback) {
        request(queryString, function (error, response, body) {
            if (!error && response && response.statusCode == 200) {
                var result = JSON.parse(body);
                callback(null, result);
            } else {
                callback(error, null);
            }
        })
    }
}

即使我在控制台中打印queryString并粘贴到chrome浏览器中,结果也与资源管理器相同。如此令人沮丧的是什么错误正在发生。 :(

先谢谢了。 维维克

1 个答案:

答案 0 :(得分:0)

以前,我是通过普通的字符串操作+添加URL参数的,因此它在某种程度上与查询一起发送了一些额外信息。按照以下方法使URL正常工作,现在可以使搜索结果与代码结果保持一致,从而使搜索结果蔚蓝。

 var testUrl = global.queryString + 'api-key=' + encodeURIComponent(global['api-key']) + '&api-version=' + encodeURIComponent(global['api-version']) + '&search=' + encodeURIComponent(global.textToSearch);