Я использую elasticsearch-rails и жемчужину elasticsearch-model для поиска слов в моем приложении rails.Elalsearch рельсы не получают правильного ответа
Я хочу сделать свой регистр поиска нечувствительным и быть независимым от плюрализации. Я много исследовал в Google, но получил представление о том, как это сделать, используя анализатор, но не успех. Поэтому мне пришлось опубликовать новый вопрос.
Вот моя модель, где я хочу найти, чтобы иметь место
require 'elasticsearch/model'
class Article < ActiveRecord::Base
include Elasticsearch::Model
include Elasticsearch::Model::Callbacks
settings index: { number_of_shards: 1 } do
mappings dynamic: 'false' do
indexes :title, analyzer: 'english', index_options: 'offsets'
indexes :text, analyzer: 'english'
end
end
def self.search(query)
__elasticsearch__.search(
{
query: {
multi_match: {
query: query,
fields: ['title^10', 'text']
}
},
highlight: {
pre_tags: ['<em>'],
post_tags: ['</em>'],
fields: {
title: {},
text: {}
}
}
}
)
end
end
# Delete the previous articles index in Elasticsearch
Article.__elasticsearch__.client.indices.delete index: Article.index_name rescue nil
# Create the new index with the new mapping
Article.__elasticsearch__.client.indices.create \
index: Article.index_name,
body: { settings: Article.settings.to_hash, mappings: Article.mappings.to_hash }
# Index all article records from the DB to Elasticsearch
Article.import
#Article.import force: true
Мои вопросы как я искать слово? футболка, футболка, футболки должны совпадать. Любые ссылки для дальнейших исследований также полезны. Спасибо
извините, но я не получил его могли бы вы объяснить me.because я? Я новичок в рубине? –
открытая консоль рельсов для тестирования. User.where ("firstname ILIKE? ИЛИ lastname ILIKE?", "% # {Params [q]}%", "% # {params [q]}%") где Пользователь - это имя модели firstname и lastname являются атрибутами или именем столбца params [: q] - это параметр запроса – puneet18
Model.where ("column_name ILIKE?", "% # {query_string}%") – puneet18