diff options
author | Arne H Juul <arnej@yahooinc.com> | 2022-01-28 13:47:27 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2022-01-28 13:47:48 +0000 |
commit | 36e390ed82d54aaee95133e5dccd460e915e544e (patch) | |
tree | 2e4078b43a1ff2422f985da327e5be73b67bf500 /streamingvisitors/src/vespa/searchvisitor/rankprocessor.cpp | |
parent | 5d45925095457bd71b3b4416ff4942fcddd77780 (diff) |
extract geo positions from query terms
* put them into query environment (for ranking)
Diffstat (limited to 'streamingvisitors/src/vespa/searchvisitor/rankprocessor.cpp')
-rw-r--r-- | streamingvisitors/src/vespa/searchvisitor/rankprocessor.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/streamingvisitors/src/vespa/searchvisitor/rankprocessor.cpp b/streamingvisitors/src/vespa/searchvisitor/rankprocessor.cpp index ac74f7791db..73baa1de45f 100644 --- a/streamingvisitors/src/vespa/searchvisitor/rankprocessor.cpp +++ b/streamingvisitors/src/vespa/searchvisitor/rankprocessor.cpp @@ -56,6 +56,11 @@ RankProcessor::initQueryEnvironment() QueryWrapper::TermList & terms = _query.getTermList(); for (uint32_t i = 0; i < terms.size(); ++i) { + if (terms[i].isGeoPosTerm()) { + const vespalib::string & fieldName = terms[i].getTerm()->index(); + const vespalib::string & locStr = terms[i].getTerm()->getTermString(); + _queryEnv.addGeoLocation(fieldName, locStr); + } if (!terms[i].isPhraseTerm() || terms[i].isFirstPhraseTerm()) { // register 1 term data per phrase QueryTermData & qtd = dynamic_cast<QueryTermData &>(terms[i].getTerm()->getQueryItem()); |