aboutsummaryrefslogtreecommitdiffstats
path: root/streamingvisitors/src/vespa/searchvisitor/rankprocessor.cpp
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-01-28 13:47:27 +0000
committerArne H Juul <arnej@yahooinc.com>2022-01-28 13:47:48 +0000
commit36e390ed82d54aaee95133e5dccd460e915e544e (patch)
tree2e4078b43a1ff2422f985da327e5be73b67bf500 /streamingvisitors/src/vespa/searchvisitor/rankprocessor.cpp
parent5d45925095457bd71b3b4416ff4942fcddd77780 (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.cpp5
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());