xapian-core  1.4.27
Public Member Functions | List of all members
Xapian::LatLongDistanceKeyMaker Class Reference

KeyMaker subclass which sorts by distance from a latitude/longitude. More...

#include <geospatial.h>

+ Inheritance diagram for Xapian::LatLongDistanceKeyMaker:

Public Member Functions

 LatLongDistanceKeyMaker (Xapian::valueno slot_, const LatLongCoords &centre_, const LatLongMetric &metric_, double defdistance)
 Construct a LatLongDistanceKeyMaker.
 
 LatLongDistanceKeyMaker (Xapian::valueno slot_, const LatLongCoords &centre_, const LatLongMetric &metric_)
 Construct a LatLongDistanceKeyMaker.
 
 LatLongDistanceKeyMaker (Xapian::valueno slot_, const LatLongCoords &centre_)
 Construct a LatLongDistanceKeyMaker.
 
 LatLongDistanceKeyMaker (Xapian::valueno slot_, const LatLongCoord &centre_, const LatLongMetric &metric_, double defdistance)
 Construct a LatLongDistanceKeyMaker.
 
 LatLongDistanceKeyMaker (Xapian::valueno slot_, const LatLongCoord &centre_, const LatLongMetric &metric_)
 Construct a LatLongDistanceKeyMaker.
 
 LatLongDistanceKeyMaker (Xapian::valueno slot_, const LatLongCoord &centre_)
 Construct a LatLongDistanceKeyMaker.
 
std::string operator() (const Xapian::Document &doc) const
 Build a key string for a Document.
 
- Public Member Functions inherited from Xapian::KeyMaker
 KeyMaker ()
 Default constructor.
 
virtual ~KeyMaker ()
 Virtual destructor, because we have virtual methods.
 
KeyMakerrelease ()
 Start reference counting this object.
 
const KeyMakerrelease () const
 Start reference counting this object.
 

Detailed Description

KeyMaker subclass which sorts by distance from a latitude/longitude.

Experimental - see https://xapian.org/docs/deprecation#experimental-features

Results are ordered by the distance from a fixed point, or list of points, calculated according to the metric supplied. If multiple points are supplied (either in the constructor, or in the coordinates stored in a document), the closest pointwise distance is used.

If a document contains no coordinate stored in the specified slot, a special value for the distance will be used. This defaults to a large number, so that such results get a low rank, but may be specified by a constructor parameter.

Constructor & Destructor Documentation

◆ LatLongDistanceKeyMaker() [1/6]

Xapian::LatLongDistanceKeyMaker::LatLongDistanceKeyMaker ( Xapian::valueno  slot_,
const LatLongCoords centre_,
const LatLongMetric metric_,
double  defdistance 
)
inline

Construct a LatLongDistanceKeyMaker.

Parameters
slot_Value slot to use.
centre_List of points to calculate distance from (closest distance is used).
metric_LatLongMetric to use.
defdistanceDistance to use for docs with no value set.

References Xapian::sortable_serialise().

◆ LatLongDistanceKeyMaker() [2/6]

Xapian::LatLongDistanceKeyMaker::LatLongDistanceKeyMaker ( Xapian::valueno  slot_,
const LatLongCoords centre_,
const LatLongMetric metric_ 
)
inline

Construct a LatLongDistanceKeyMaker.

Parameters
slot_Value slot to use.
centre_List of points to calculate distance from (closest distance is used).
metric_LatLongMetric to use.

Documents where no value is set are assumed to be a large distance away.

◆ LatLongDistanceKeyMaker() [3/6]

Xapian::LatLongDistanceKeyMaker::LatLongDistanceKeyMaker ( Xapian::valueno  slot_,
const LatLongCoords centre_ 
)
inline

Construct a LatLongDistanceKeyMaker.

Parameters
slot_Value slot to use.
centre_List of points to calculate distance from (closest distance is used).

Xapian::GreatCircleMetric is used as the metric.

Documents where no value is set are assumed to be a large distance away.

◆ LatLongDistanceKeyMaker() [4/6]

Xapian::LatLongDistanceKeyMaker::LatLongDistanceKeyMaker ( Xapian::valueno  slot_,
const LatLongCoord centre_,
const LatLongMetric metric_,
double  defdistance 
)
inline

Construct a LatLongDistanceKeyMaker.

Parameters
slot_Value slot to use.
centre_Point to calculate distance from.
metric_LatLongMetric to use.
defdistanceDistance to use for docs with no value set.

References Xapian::LatLongCoords::append(), and Xapian::sortable_serialise().

◆ LatLongDistanceKeyMaker() [5/6]

Xapian::LatLongDistanceKeyMaker::LatLongDistanceKeyMaker ( Xapian::valueno  slot_,
const LatLongCoord centre_,
const LatLongMetric metric_ 
)
inline

Construct a LatLongDistanceKeyMaker.

Parameters
slot_Value slot to use.
centre_Point to calculate distance from.
metric_LatLongMetric to use.

Documents where no value is set are assumed to be a large distance away.

References Xapian::LatLongCoords::append().

◆ LatLongDistanceKeyMaker() [6/6]

Xapian::LatLongDistanceKeyMaker::LatLongDistanceKeyMaker ( Xapian::valueno  slot_,
const LatLongCoord centre_ 
)
inline

Construct a LatLongDistanceKeyMaker.

Parameters
slot_Value slot to use.
centre_Point to calculate distance from.

Xapian::GreatCircleMetric is used as the metric.

Documents where no value is set are assumed to be a large distance away.

References Xapian::LatLongCoords::append().

Member Function Documentation

◆ operator()()

std::string Xapian::LatLongDistanceKeyMaker::operator() ( const Xapian::Document doc) const
virtual

Build a key string for a Document.

These keys can be used for sorting or collapsing matching documents.

Parameters
docDocument object to build a key for.

Implements Xapian::KeyMaker.


The documentation for this class was generated from the following file: