mirror of
https://github.com/privacore/open-source-search-engine.git
synced 2025-04-24 15:29:32 -04:00
qlangserver: return weights as doubles instead of ints
This commit is contained in:
parent
0e08a15346
commit
1455be5f97
@ -42,7 +42,7 @@ static bool printSearchResultsTail(State0 *st);
|
||||
static bool printSearchFiltersBar ( SafeBuf *sb , HttpRequest *hr ) ;
|
||||
static bool printMenu ( SafeBuf *sb , int32_t menuNum , HttpRequest *hr ) ;
|
||||
|
||||
static void gotQueryLanguageWrapper(void *state, const std::vector<std::pair<lang_t, int>> &languages);
|
||||
static void gotQueryLanguageWrapper(void *state, const std::vector<std::pair<lang_t, double>> &languages);
|
||||
static bool gotQueryLanguage(void *state);
|
||||
|
||||
static void gotResultsWrapper ( void *state ) ;
|
||||
@ -351,7 +351,7 @@ bool sendPageResults ( TcpSocket *s , HttpRequest *hr ) {
|
||||
return gotQueryLanguage(st);
|
||||
}
|
||||
|
||||
static void gotQueryLanguageWrapper(void *state, const std::vector<std::pair<lang_t, int>> &languages) {
|
||||
static void gotQueryLanguageWrapper(void *state, const std::vector<std::pair<lang_t, double>> &languages) {
|
||||
if (!languages.empty()) {
|
||||
/// @todo ALC currently we only cater for one result (assume first result is the best)
|
||||
State0 *st = (State0 *) state;
|
||||
|
@ -104,7 +104,7 @@ void QueryLanguage::processResponse(fxclient_request_ptr_t base_request, char *r
|
||||
std::shared_ptr<QueryLanguageRequest> request = std::dynamic_pointer_cast<QueryLanguageRequest>(base_request);
|
||||
logTrace(g_conf.m_logTraceQueryLanguage, "Got result='%s' for query='%s'", response, request->m_query.c_str());
|
||||
|
||||
std::vector<std::pair<lang_t, int>> languages;
|
||||
std::vector<std::pair<lang_t, double>> languages;
|
||||
|
||||
//parse the response
|
||||
auto tokens = split(response, '|');
|
||||
@ -121,7 +121,7 @@ void QueryLanguage::processResponse(fxclient_request_ptr_t base_request, char *r
|
||||
continue;
|
||||
}
|
||||
|
||||
languages.emplace_back(language, static_cast<int>(strtoul(pairs[1].c_str(), nullptr, 0)));
|
||||
languages.emplace_back(language, static_cast<int>(strtod(pairs[1].c_str(), nullptr)));
|
||||
}
|
||||
|
||||
// return default value if empty
|
||||
@ -134,7 +134,7 @@ void QueryLanguage::processResponse(fxclient_request_ptr_t base_request, char *r
|
||||
|
||||
void QueryLanguage::errorCallback(fxclient_request_ptr_t base_request) {
|
||||
std::shared_ptr<QueryLanguageRequest> request = std::dynamic_pointer_cast<QueryLanguageRequest>(base_request);
|
||||
request->m_callback(request->m_context, std::vector<std::pair<lang_t, int>>());
|
||||
request->m_callback(request->m_context, {});
|
||||
}
|
||||
|
||||
bool QueryLanguage::initialize() {
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "FxClient.h"
|
||||
#include "Lang.h"
|
||||
|
||||
typedef void (*query_language_callback_t)(void *context, const std::vector<std::pair<lang_t, int>> &languages);
|
||||
typedef void (*query_language_callback_t)(void *context, const std::vector<std::pair<lang_t, double>> &languages);
|
||||
|
||||
class QueryLanguage : public FxClient {
|
||||
public:
|
||||
|
Loading…
x
Reference in New Issue
Block a user