Я создал поисковое приложение, используя 2 столбца (имя и фамилия), но не работает, когда у человека более двух имен. Как я могу найти человека с тремя именами и фамилиями?Проблема с множественным текстовым поиском
Контроллер:
class PersonController < ApplicationController
def search
@people = Person.find(:all,:conditions=>["(
name LIKE ? OR
lastname LIKE ? OR
(concat(name, \" \", lastname) LIKE ?)
)" ,
"%#{params[:query]}%",
"%#{params[:query]}%",
"%#{params[:query]}%" ]
)
end
end
Посмотреть
<% form_tag :controller=>"person",:action=>"search" do %>
Nombre o Apellido
<%= text_field_tag "query", params[:query]
<% end %>
Пример
|name| |Lastname|
Marcos Ignacio Raul Perez
я увидел на моих журналах это: работает, если поиск Маркос Игнасио Рауль Перес
SELECT * FROM `people`
WHERE ((
name LIKE '%Marcos Ignacio Raul Perez%' OR
lastname LIKE '%Marcos Ignacio Raul Perez%'
OR (concat(name, " ", lastname) LIKE '%Marcos Ignacio Raul Perez%')
))
работы, если я искать Игнасио Рауль Перес
SELECT * FROM `people`
WHERE ((
name LIKE '%Ignacio Raul Perez%' OR
lastname LIKE '%Ignacio Raul Perez%'
OR (concat(name, " ", lastname) LIKE 'Ignacio Raul Perez%')
))
Works, если я искать Рауль Перес
SELECT * FROM `people`
WHERE ((
name LIKE '%Raul Perez%' OR
lastname LIKE '%Raul Perez%'
OR (concat(name, " ", lastname) LIKE 'Perez%')
))
Не работает, если я поиск Маркос Перес
SELECT * FROM `people`
WHERE ((
name LIKE '%Marcos Perez%' OR
lastname LIKE '%Marcos Perez%'
OR (concat(name, " ", lastname) LIKE '%Marcos Perez%')
))
не ли работа, если я ищу Ignacio Perez
SELECT * FROM `people`
WHERE ((
name LIKE '%Ignacio Perez%' OR
lastname LIKE '%Marcos Perez%'
OR (concat(name, " ", lastname) LIKE '%Ignacio Perez%')
))
Не работает, если я поиск Маркос Рауль Перес
SELECT * FROM `people`
WHERE ((
name LIKE '%Marcos Raul Perez%' OR
lastname LIKE '%Marcos Raul Perez%'
OR (concat(name, " ", lastname) LIKE '%Marcos Raul Perez%')
))
Я очень ценю помощь.
Лурьте я уже установлен этот драгоценный камень, но не знают, как интегрировать его в моем проекте? можешь мне помочь? –
http: //railscasts.com/episodes/306-elasticsearch-part-1 ......... Но не является полным, и я использую рельсы. 2.3 –
Есть ли у вас еще один простой способ? используя код? –