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

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

+ Inheritance diagram for Xapian::LatLongDistanceKeyMaker:

Public Member Functions

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

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.

◆ 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().

◆ 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: