Номинатим терпит неудачу с "Неверной строкой запроса" - PullRequest
0 голосов
/ 23 мая 2018

В настоящее время я устанавливаю Nominatim, используя образ Docker, который можно найти по адресу https://github.com/bringnow/docker-nominatim.Однако при отправке запроса я получаю следующую ошибку:

Неверный запрос

Nominatim обнаружил ошибку с вашим запросом.

Подробности: недопустимая строка запроса(не строка UTF-8): paderborn

Когда я смотрю на консоль, я получаю следующую ошибку:

ERROR:  relation "query_log" does not exist at character 13
STATEMENT:  insert into query_log values ('2018-05-23 15:25:03.9961','paderborn','172.18.0.1')
ERROR:  relation "new_query_log" does not exist at character 13
STATEMENT:  insert into new_query_log (type,starttime,query,ipaddress,useragent,language,format) values ('search','2018-05-23 15:25:03.9961','q=paderborn&polygon=1&viewbox=','172.18.0.1','Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0','short_name:de,short_name:en-US,short_name:en,name:de,name:en-US,name:en,place_name:de,place_name:en-US,place_name:en,official_name:de,official_name:en-US,official_name:en,short_name,name,place_name,official_name,ref,type','')
ERROR:  function make_standard_name(unknown) does not exist at character 8
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
STATEMENT:  select make_standard_name('paderborn') as string

Я уже нашел ответ, который предлагаетследующее решение:

./utils/setup.php --create-functions --enable-diff-updates

Однако это приводит к ошибке:

Functions
CREATE FUNCTION
ERROR:  could not access file "/app/module/nominatim.so": No such file or directory

Когда я смотрю на файловую систему, файл nominatim.so существует.Итак, эта ошибка сбивает с толку.

Кто-нибудь знает решение для этого?

1 Ответ

0 голосов
/ 24 мая 2018

Я нашел ошибку: у нас есть два образа докера, один для nominatim и один для postgis .Файл /app/module/nominatim.so создается внутри изображения nominatim, но также необходим в изображении postgis.Решение состоит в том, чтобы создать том, который позволяет совместно использовать файл.

В docker-compose.yaml добавьте следующие строки в службу nominatim:

volumes:
- ./volumes/module:/mnt/module

и следующие строки в postgisservice:

volumes:
- ./volumes/module:/app/module

Расширьте entrypoint.sh:

log_info "==> Copy nominatim.so"
cp /app/module/nominatim.so /mnt/module/nominatim.so

Обратите внимание, что вам нужно перестроить образ DoNominatim Docker.

...