forked from hans/Nominatim
59 lines
1.8 KiB
PHP
59 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace Nominatim;
|
|
|
|
/**
|
|
* Operators describing special searches.
|
|
*/
|
|
abstract final class Operator
|
|
{
|
|
/// No operator selected.
|
|
const NONE = -1;
|
|
/// Search for POIs near the given place.
|
|
const NEAR = 0;
|
|
/// Search for POIS in the given place.
|
|
const IN = 1;
|
|
/// Search for POIS named as given.
|
|
const NAME = 3;
|
|
/// Search for postcodes.
|
|
const POSTCODE = 4;
|
|
}
|
|
|
|
/**
|
|
* Description of a single interpretation of a search query.
|
|
*/
|
|
class SearchDescription
|
|
{
|
|
/// Ranking how well the description fits the query.
|
|
private $iSearchRank = 0;
|
|
/// Country code of country the result must belong to.
|
|
private $sCountryCode = '';
|
|
/// List of word ids making up the name of the object.
|
|
private $aName = array();
|
|
/// List of word ids making up the address of the object.
|
|
private $aAddress = array();
|
|
/// Subset of word ids of full words making up the address.
|
|
private $aFullNameAddress = array();
|
|
/// List of word ids that appear in the name but should be ignored.
|
|
private $aNameNonSearch = array();
|
|
/// List of word ids that appear in the address but should be ignored.
|
|
private $aAddressNonSearch = array();
|
|
/// Kind of search for special searches, see Nominatim::Operator.
|
|
private $iOperator = Operator::NONE;
|
|
/// Class of special feature to search for.
|
|
private $sClass = '';
|
|
/// Type of special feature to search for.
|
|
private $sType = '';
|
|
/// Housenumber of the object.
|
|
private $sHouseNumber = '';
|
|
/// Postcode for the object.
|
|
private $sPostcode = '';
|
|
/// Geographic search area.
|
|
private $oNearPoint = false;
|
|
|
|
// Temporary values used while creating the search description.
|
|
|
|
/// Index of phrase currently processed
|
|
private $iNamePhrase = -1;
|
|
};
|