Анализатор dismax не поддерживает синтаксис Lucene (field:value
). edismax
(e означает расширенный анализатор Dismax), однако, делает.
Вместо этого используйте синтаксический анализатор edismax, если вы хотите предоставлять запросы как обычный синтаксис запросов lucene. В целом, однако, было бы лучше иметь запрос как london - то есть q=london
, а затем использовать qf
, чтобы сообщить edismax, какие поля вы хотите искать - qf=NAME
.
Ваша строка запроса тогда делает стать q=london&qf=NAME&defType=edismax
- однако этот запрос будет вести себя так же, используя и более старый анализатор dismax.