Как получить то, что пользователи набрали через ElasticSearch в приложении rails? - PullRequest
0 голосов
/ 18 марта 2019

Я работаю над Elastic Search с рельсами. Ожидаемая особенность приложения состоит в том, чтобы перечислить, что другие пользователи набрали, когда пользователь начинает печатать с подобными словами (или алфавитом)

Допустим, у меня есть документ Active Record со столбцом с именем "content". У меня много документов с содержимым, содержащим фразу «stackoverflow nice».

Когда пользователь начинает вводить "s", я хочу, чтобы область под текстовой областью была заполнена списками предложений или фраз, которые вводили люди.

Моя текущая конфигурация

class Document < ActiveRecord::Base
  searchkick word_start: [:content]
end

И у меня есть несколько документов, у которых в столбце есть «stackoverflow nice» с другими группами слов.

Если я буду искать по приведенной ниже строке кода,

courses = Course.search "sta", fields: [:content], match: :word_middle

тогда я получу ожидаемый результат "курсов", которые содержат 'stackoverflow nice'.

Но некоторые пользователи могли набирать stackoverflow, другие - хороший stackoverflow.

По сути, мне бы хотелось, чтобы перечислять stackoverflow и stackoverflow хорошо, когда пользователь печатает, так как это сделали другие пользователи. То, что просто поразило меня, - это сохранить все ключевые слова в другой таблице базы данных и извлекать подобные записи при вводе пользователем, но я думаю, что есть лучший способ сделать это в сервисе ElasticSearch!

Пожалуйста, помогите мне!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...