У меня установлено приложение Ruby / Sinatra на Heroku, и я использую плагин IndexTank для обеспечения возможности полнотекстового поиска.
В настоящее время я использую готовую функцию автозаполнения согласно Документация по автозаполнению IndexTank
В настоящее время я проиндексировал свои документы так, что текстовое поле по умолчанию: содержит название города и название страны документа. то есть:
@index.document("1").add({:text => "London England"})
Когда я выполняю поиск в поле автозаполнения по умолчанию, он действительно работает и возвращает результат, однако не тот, который я ожидал или понравился.
Когда я набираю ' lon ' в поле, он возвращает ' london '. Это действительно правильный документ, но я надеялся, что он действительно вернет мне ' Лондон Англия '.
Кто-нибудь знает, как мне изменить данные, отображаемые в раскрывающемся поле автозаполнения, чтобы при поиске '1022 * lon ' отображалось « London England »?
UPDATE
Я также попробовал функциональность InstantLinks , как предложено в комментариях, но это также не вполне делает то, что мне нужно сделать. Кажется, что оба решения делают примерно 80% того, что мне нужно, но, к сожалению, мне нужно что-то дополнительное.
Две вещи в InstantLinks, которые не работают так, как мне нужно:
Хотя я могу выбрать, какое поле из индекса отображать в раскрывающемся списке (что я не мог сделать с функцией автозаполнения), когда я использую клавиши со стрелками, чтобы выбрать параметры в раскрывающемся списке выбранная опция не отображается в текстовом поле.
Когда я выбираю запись в раскрывающемся списке, меня перенаправляют на другую страницу, URL которой, как предполагается, был извлечен из индекса. Все, чего я хочу, это значение выбранной записи, которая будет заполнена в исходном текстовом поле.
Так что, к сожалению, я не вижу, как InstantLinks даст мне ту функциональность, которая мне нужна.