323 lTermSet.insert (lTokenisedName);
329 for (CityNameList_T::const_iterator itCityUtfName = iCityUtfNameList.begin();
330 itCityUtfName != iCityUtfNameList.end(); ++itCityUtfName) {
331 const std::string& lCityUtfName = *itCityUtfName;
332 if (lCityUtfName.empty() ==
false) {
333 lTermSet.insert (lTokenisedName +
" " + lCityUtfName);
338 for (CityNameList_T::const_iterator itCityAsciiName =
339 iCityAsciiNameList.begin();
340 itCityAsciiName != iCityAsciiNameList.end(); ++itCityAsciiName) {
341 const std::string& lCityAsciiName = *itCityAsciiName;
342 if (lCityAsciiName.empty() ==
false) {
343 lTermSet.insert (lTokenisedName +
" " + lCityAsciiName);
348 if (iAdm1UtfName.empty() ==
false) {
349 lTermSet.insert (lTokenisedName +
" " + iAdm1UtfName);
353 if (iAdm1AsciiName.empty() ==
false) {
354 lTermSet.insert (lTokenisedName +
" " + iAdm1AsciiName);
358 if (iAdm2UtfName.empty() ==
false) {
359 lTermSet.insert (lTokenisedName +
" " + iAdm2UtfName);
363 if (iAdm2AsciiName.empty() ==
false) {
364 lTermSet.insert (lTokenisedName +
" " + iAdm2AsciiName);
368 lTermSet.insert (lTokenisedName +
" " + iStateCode);
371 lTermSet.insert (lTokenisedName +
" " + iCountryCode);
374 lTermSet.insert (lTokenisedName +
" " + iCountryName);
377 lTermSet.insert (lTokenisedName +
" " + iContinentName);
380 _spellingSet.insert (lTokenisedName);
386 const std::string& lNormalisedCommonName =
387 iTransliterator.
normalise (lTokenisedName);
390 lTermSet.insert (lNormalisedCommonName);
398 for (CityNameList_T::const_iterator itCityUtfName = iCityUtfNameList.begin();
399 itCityUtfName != iCityUtfNameList.end(); ++itCityUtfName) {
400 const std::string& lCityUtfName = *itCityUtfName;
401 if (lCityUtfName.empty() ==
false) {
402 lTermSet.insert (lNormalisedCommonName +
" " + lCityUtfName);
408 for (CityNameList_T::const_iterator itCityAsciiName =
409 iCityAsciiNameList.begin();
410 itCityAsciiName != iCityAsciiNameList.end(); ++itCityAsciiName) {
411 const std::string& lCityAsciiName = *itCityAsciiName;
412 if (lCityAsciiName.empty() ==
false) {
413 lTermSet.insert (lNormalisedCommonName +
" " + lCityAsciiName);
419 if (iAdm1UtfName.empty() ==
false) {
420 lTermSet.insert (lNormalisedCommonName +
" " + iAdm1UtfName);
425 if (iAdm1AsciiName.empty() ==
false) {
426 lTermSet.insert (lNormalisedCommonName +
" " + iAdm1AsciiName);
431 if (iAdm2UtfName.empty() ==
false) {
432 lTermSet.insert (lNormalisedCommonName +
" " + iAdm2UtfName);
437 if (iAdm2AsciiName.empty() ==
false) {
438 lTermSet.insert (lNormalisedCommonName +
" " + iAdm2AsciiName);
443 lTermSet.insert (lNormalisedCommonName +
" " + iStateCode);
447 lTermSet.insert (lNormalisedCommonName +
" " + iCountryCode);
451 lTermSet.insert (lNormalisedCommonName +
" " + iCountryName);
455 lTermSet.insert (lNormalisedCommonName +
" " + iContinentName);
458 _spellingSet.insert (lNormalisedCommonName);
478 const PageRank_T& lPageRankDouble = _location.getPageRank();
484 +
static_cast<const Weight_T> (lPageRankDouble / 5.0);
495 const FeatureCode_T& lFeatureCode = _location.getFeatureCode();
498 const std::string& lIataCode = _location.getIataCode();
499 if (lIataCode.empty() ==
false) {
500 lWeightedTermSet.insert (lIataCode);
501 _spellingSet.insert (lIataCode);
509 const std::string& lIcaoCode = _location.getIcaoCode();
510 if (lIcaoCode.empty() ==
false) {
511 lWeightedTermSet.insert (lIcaoCode);
512 _spellingSet.insert (lIcaoCode);
520 const std::string& lFaaCode = _location.getFaaCode();
521 if (lFaaCode.empty() ==
false) {
522 lWeightedTermSet.insert (lFaaCode);
523 _spellingSet.insert (lFaaCode);
531 const UNLOCodeList_T& lUNLOCodeList = _location.getUNLOCodeList();
532 for (UNLOCodeList_T::const_iterator itUNLOCode = lUNLOCodeList.begin();
533 itUNLOCode != lUNLOCodeList.end(); ++itUNLOCode) {
535 if (lUNLOCode.empty() ==
false) {
536 lWeightedTermSet.insert (lUNLOCode);
537 _spellingSet.insert (lUNLOCode);
546 const UICCodeList_T& lUICCodeList = _location.getUICCodeList();
547 for (UICCodeList_T::const_iterator itUICCode = lUICCodeList.begin();
548 itUICCode != lUICCodeList.end(); ++itUICCode) {
551 std::stringstream oStr;
553 const std::string lUICCodeStr = oStr.str();
554 lWeightedTermSet.insert (lUICCodeStr);
555 _spellingSet.insert (lUICCodeStr);
564 const GeonamesID_T& lGeonamesID = _location.getGeonamesID();
565 if (lGeonamesID != 0) {
566 std::stringstream oStr;
568 const std::string lGeonamesIDStr = oStr.str();
569 lStdTermSet.insert (lGeonamesIDStr);
570 _spellingSet.insert (lGeonamesIDStr);
574 if (lFeatureCode.empty() ==
false) {
575 lWeightedTermSet.insert (lFeatureCode);
576 _spellingSet.insert (lFeatureCode);
583 for (CityDetailsList_T::const_iterator itCity = lCityList.begin();
584 itCity != lCityList.end(); ++itCity) {
588 const std::string& lCityCode = lCity.
getIataCode();
589 if (lCityCode.empty() ==
false && lCityCode != lIataCode) {
590 lWeightedTermSet.insert (lCityCode);
591 _spellingSet.insert (lCityCode);
595 const std::string& lCityUtfName = lCity.
getUtfName();
596 if (lCityUtfName.empty() ==
false) {
597 lCityUtfNameList.push_back(lCityUtfName);
598 lWeightedTermSet.insert (lCityUtfName);
599 _spellingSet.insert (lCityUtfName);
603 const std::string& lCityAsciiName = lCity.
getAsciiName();
604 if (lCityAsciiName.empty() ==
false) {
605 lCityAsciiNameList.push_back(lCityAsciiName);
606 lWeightedTermSet.insert (lCityAsciiName);
607 _spellingSet.insert (lCityAsciiName);
612 const std::string& lStateCode = _location.getStateCode();
613 if (lStateCode.empty() ==
false) {
614 lWeightedTermSet.insert (lStateCode);
615 _spellingSet.insert (lStateCode);
619 const std::string& lCountryCode = _location.getCountryCode();
620 lWeightedTermSet.insert (lCountryCode);
623 const std::string& lCountryName = _location.getCountryName();
624 if (lCountryName.empty() ==
false) {
625 lWeightedTermSet.insert (lCountryName);
626 _spellingSet.insert (lCountryName);
630 const std::string& lAdm1Code = _location.getAdmin1Code();
631 if (lAdm1Code.empty() ==
false) {
632 lWeightedTermSet.insert (lAdm1Code);
636 const std::string& lAdm1UtfName = _location.getAdmin1UtfName();
637 if (lAdm1UtfName.empty() ==
false) {
638 lWeightedTermSet.insert (lAdm1UtfName);
639 _spellingSet.insert (lAdm1UtfName);
643 const std::string& lAdm1AsciiName = _location.getAdmin1AsciiName();
644 if (lAdm1AsciiName.empty() ==
false) {
645 lWeightedTermSet.insert (lAdm1AsciiName);
646 _spellingSet.insert (lAdm1AsciiName);
650 const std::string& lAdm2Code = _location.getAdmin1Code();
651 if (lAdm2Code.empty() ==
false) {
652 lWeightedTermSet.insert (lAdm2Code);
656 const std::string& lAdm2UtfName = _location.getAdmin2UtfName();
657 if (lAdm2UtfName.empty() ==
false) {
658 lWeightedTermSet.insert (lAdm2UtfName);
659 _spellingSet.insert (lAdm2UtfName);
663 const std::string& lAdm2AsciiName = _location.getAdmin2AsciiName();
664 if (lAdm2AsciiName.empty() ==
false) {
665 lWeightedTermSet.insert (lAdm2AsciiName);
666 _spellingSet.insert (lAdm2AsciiName);
670 const std::string& lContinentName = _location.getContinentName();
671 lWeightedTermSet.insert (lContinentName);
675 const std::string& lCommonName = _location.getCommonName();
676 if (lCommonName.empty() ==
false) {
680 lCityUtfNameList, lCityAsciiNameList,
692 const std::string& lASCIIName = _location.getAsciiName();
693 if (lASCIIName.empty() ==
false) {
697 lCityUtfNameList, lCityAsciiNameList,
711 for (NameMatrix_T::const_iterator itNameList = lNameMatrix.begin();
712 itNameList != lNameMatrix.end(); ++itNameList) {
715 const Names& lNames = itNameList->second;
720 for (NameList_T::const_iterator itName = lNameList.begin();
721 itName != lNameList.end(); ++itName) {
722 const std::string& lName = *itName;
726 if (lName.empty() ==
false) {
733 lWordCombinationHolder.
_list;
734 for (WordCombinationHolder::StringList_T::const_iterator itString =
736 itString != lStringList.end(); ++itString) {
737 const std::string& lWordCombination = *itString;
738 const std::string& lNormalisedWordCombination =
739 iTransliterator.
normalise (lWordCombination);
742 lStdTermSet.insert (lWordCombination);
743 _spellingSet.insert (lWordCombination);
746 lStdTermSet.insert (lNormalisedWordCombination);
747 _spellingSet.insert (lNormalisedWordCombination);