我在 Heroku 上部署了一个 Ruby/Sinatra 应用程序,我正在使用 IndexTank 插件来提供全文搜索功能。
我目前正在根据IndexTank 自动完成文档使用开箱即用的自动完成功能
目前我已经为我的文档编制了索引,以便默认的 :text 字段包含文档的城市名称和国家名称。IE:
@index.document("1").add({:text => "London England"})
当我在默认的自动完成字段中进行搜索时,它实际上确实有效并返回了结果,但不是我所期望或喜欢的。
当我在字段中输入“ lon ”时,它会返回“ london ”。这确实是正确的文件,但我希望它实际上会返回我“伦敦英格兰”。
有人知道我如何修改自动完成字段下拉列表中呈现的数据,以便在我搜索“ lon ”时显示“ London England ”吗?
更新
我还尝试了评论中建议的InstantLinks功能,但这也不能完全满足我的需要。似乎这两种解决方案都完成了我需要的大约 80% 的工作,但不幸的是我需要一些额外的东西。
InstantLinks 不能按我需要的两件事是:
虽然我可以从索引中选择要在下拉列表中显示的字段(这是我无法使用自动完成功能所做的),但当我使用箭头键选择下拉列表中的选项时,所选选项不会显示在文本字段中。
当我从下拉列表中选择一个条目时,我被带到另一个页面,该页面的 URL 应该是从索引中提取的。我想要发生的只是选择要填充到原始文本字段中的条目的值。
所以,不幸的是,我看不到 InstantLinks 将如何为我提供我所追求的功能。