The set time limit for a search has been exceeded (xlocate 1)

deals with geocoding and reverse geocoding in the context of PTV Geocoding&Places, PTV Geocoding&Places OSM and PTV xLocate 1 and 2
Post Reply
User avatar
Bernd Welter
Site Admin
Posts: 2695
Joined: Mon Apr 14, 2014 10:28 am
Contact:

The set time limit for a search has been exceeded (xlocate 1)

Post by Bernd Welter »

Hi there

These days I was asked for the meaning of the following error message:

"The set time limit for a search has been exceeded. The result list is incomplete." errorCode="-4150"

The message appears in the context of a geocoding if the search requires more time than configured. It is not a simple HTTP timeout but a module timeout of the geocoding engine.
If it appears the engine usually has found several hits but it was a long lasting task which might be interrupted by the timeout and the result list may lack some of the hits.

The threshold for the timeout is defined in the native profile:
Among other properties here are three timeouts:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<LocatingEngineParameters>
	<SearchParameters>
[..]		<Engine.CitySearchTimeout Value="7500" Type="long"/>
[..]		<Engine.StreetSearchTimeout Value="7000" Type="long"/>
[..]		<Engine.SuggestionSearchTimeout Value="1000" Type="long"/>
[..]	</SearchParameters>
        ...
</LocatingEngineParameters>
If you increase the timeouts, the results might contain further hits but the response might take longer.
If you decrease the timeouts, the results might contain less hits but the response might take shorter.

It's a question of your preferences.

Best regards,
Bernd
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
User avatar
bocajo
Posts: 45
Joined: Tue Mar 01, 2016 3:05 pm

Re: The set time limit for a search has been exceeded.

Post by bocajo »

Engine.CitySearchTimeout: Overall time in Milliseconds the search is allowed to run before it is aborted. The value -1 indicates that the time is not limited.
Engine.StreetSearchTimeout: Milliseconds the search is allowed to run before the street search starts. If this part of the search takes longer it is aborted. The value -1 indicates that the time is not limited.

The idea is that the xLocate is returning a least the city if a search takes to long.
Jochen Anderer
Manager Engineer
PTV GROUP GERMANY
User avatar
Bernd Welter
Site Admin
Posts: 2695
Joined: Mon Apr 14, 2014 10:28 am
Contact:

Re: The set time limit for a search has been exceeded.

Post by Bernd Welter »

Hi everyone,

just wanted to add some potential causes / countermeasures for the described timeout issue:
  • Missing country code: depending on the size of the configured map the country code has a significant impact on the search because in xLocate1 it is used as a hard filter: database addresses that do not match the input country code won't appear in the result. In xLocate 2 the address's country code is a weak filter. If you want to apply the code as a hard filter you have to use the search option AllowedCountries.
  • Another important factor is the structure of the input text strings: Strings which contain many separators will blow up the computation time - especially if the info in the data is contradictory.
  • Separate noise from relevant data : Sometimes this occurs when users use the texts also for user hints such as "there's a free parking behind the fuel station on the other sider of the road" (no joke!). If you want to store such info together with an address we recommend to provide dedicated fields which are not used for the geocoding.
Best regards,
Bernd
Bernd Welter
Technical Partner Manager Developer Components
PTV Logistics - Germany

Bernd at... The Forum,LinkedIn, Youtube, StackOverflow
I like the smell of PTV Developer in the morning... :twisted:
Post Reply