diff options
Diffstat (limited to 'vsm')
-rw-r--r-- | vsm/src/vespa/vsm/config/vsmfields.def | 2 | ||||
-rw-r--r-- | vsm/src/vespa/vsm/vsm/fieldsearchspec.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/vsm/src/vespa/vsm/config/vsmfields.def b/vsm/src/vespa/vsm/config/vsmfields.def index 21d7d72eb0b..5e943c9274d 100644 --- a/vsm/src/vespa/vsm/config/vsmfields.def +++ b/vsm/src/vespa/vsm/config/vsmfields.def @@ -12,7 +12,7 @@ searchall int default=1 fieldspec[].name string ## The search method for a given field. Note: same field in 2 different document types must match on type if not a random result might be expected. -fieldspec[].searchmethod enum { NONE, BOOL, AUTOUTF8, UTF8, SSE2UTF8, INT8, INT16, INT32, INT64, FLOAT16, FLOAT, DOUBLE } default=AUTOUTF8 +fieldspec[].searchmethod enum { NONE, BOOL, AUTOUTF8, UTF8, SSE2UTF8, INT8, INT16, INT32, INT64, FLOAT16, FLOAT, DOUBLE, GEOPOS } default=AUTOUTF8 fieldspec[].arg1 string default="" ## Maximum number of chars to search per field. diff --git a/vsm/src/vespa/vsm/vsm/fieldsearchspec.cpp b/vsm/src/vespa/vsm/vsm/fieldsearchspec.cpp index 8fe85a9023a..7043e63ec87 100644 --- a/vsm/src/vespa/vsm/vsm/fieldsearchspec.cpp +++ b/vsm/src/vespa/vsm/vsm/fieldsearchspec.cpp @@ -10,6 +10,7 @@ #include <vespa/vsm/searcher/intfieldsearcher.h> #include <vespa/vsm/searcher/boolfieldsearcher.h> #include <vespa/vsm/searcher/floatfieldsearcher.h> +#include <vespa/vsm/searcher/geo_pos_field_searcher.h> #include <vespa/vespalib/stllike/asciistream.h> #include <regex> @@ -105,6 +106,9 @@ FieldSearchSpec::FieldSearchSpec(const FieldIdT & fid, const vespalib::string & case VsmfieldsConfig::Fieldspec::Searchmethod::DOUBLE: _searcher = std::make_unique<DoubleFieldSearcher>(fid); break; + case VsmfieldsConfig::Fieldspec::Searchmethod::GEOPOS: + _searcher = std::make_unique<GeoPosFieldSearcher>(fid); + break; } if (_searcher) { setMatchType(_searcher, arg1); |