从Searchkick 1.5.1升级到2.x后,fields选项不再作为搜索的一部分工作,而是仅在测试环境中工作。例如,如果有一个标题为"已完成":
的课程Lesson.reindex
Lesson.searchkick_index.refresh
Lesson.search("Completed", fields: [:title])
在测试中不会返回任何结果,但是:
Lesson.reindex
Lesson.searchkick_index.refresh
Lesson.search("Completed")
意愿。它似乎与索引是如何重新索引有关...而不是实际搜索,因为如果你从测试内部搜索开发索引,它可以工作:
Lesson.search("Completed", fields: [:title], index_name: :lessons_development)
假设它们存在,会返回命中。
的调试输出中添加了更多详细信息任何想法都会非常感激!
答案 0 :(得分:0)
也许,如果您在Rails Console上建立索引,则退出一次并重新启动,然后运行Lesson.reindex
。我遇到了同样的问题(索引未通过reindex方法更改),