Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [MySQL] FULLTEXT, релевантность, несколько таблиц 
V
    Опции темы
gcc
Дата 30.5.2009, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 3
Всего: 17



http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
http://www.google.com.ua/search?q=FULLTEXT...art=10&sa=N

не нашел как сделать поиск по нескольким таблицам!

кто как делал?

3 таблицы: comment, content, section 
в них столбцы: name и text

нужно отсортировать по релевантность по нескольким таблицам
(видел что по разному можно сделать, может LIKE лучше?)

и я не могу найти как выести вместе с ними название самой таблицы в которой был результат! 
(ну чтобы написать какой тип данных, с какой таблицы и ссылку поставить пользователю)


Это сообщение отредактировал(а) gcc - 30.12.2009, 03:13
PM WWW ICQ Skype GTalk Jabber   Вверх
gcc
Дата 18.6.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 3
Всего: 17




Код

SELECT *,

( (1.3 * (MATCH(table1.title) AGAINST ('+term +term2' IN BOOLEAN MODE))) +
(0.6 * (MATCH(table2.title) AGAINST ('+term +term2' IN BOOLEAN MODE))) ) AS relevance

FROM table1, table2
ORDER BY relevance DESC;


Код

select ( 
 select 'Найдено в таблице1',.. from table1  ... 
  union 
 select 'Найдено в таблице2',... from table2 ... 
   union 
 select 'Найдено в таблице3'... from table3 ..) 
order by relevance;


=============

А как узнать сколько результатов выдало?

что-то я не понимаю как это сделать
 

чтобы сделать по страничный вывод
2 раза запрос надо сделать?
PM WWW ICQ Skype GTalk Jabber   Вверх
gcc
Дата 30.12.2009, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 3
Всего: 17



подскажите, есть ли возможность вывести поиск с двух таблиц?

вот пробовал, работабт, но они выводят одно и тоже раз 10 где-то, получается ерунда

или все таки лучше одной?
   
Код

 SELECT *,
MATCH (t1.name_co,t1.heading_name_co,t1.keys_co,t1.text_co,t2.name_se) AGAINST (? IN BOOLEAN MODE) as REL
FROM content AS t1,
section AS t2
WHERE MATCH (t1.name_co,t1.heading_name_co,t1.keys_co,t1.text_co,t2.name_se) AGAINST (? IN BOOLEAN MODE)
ORDER BY REL 


Код

SELECT * FROM section as t2, content as t1 WHERE MATCH (t1.name_co,t1.heading_name_co,t1.keys_co,t1.text_co,t2.name_se)
 AGAINST (? IN BOOLEAN MODE) 




Код

SELECT *,
( (1.3 * (MATCH(content.name_co) AGAINST (? IN BOOLEAN MODE))) +
(0.6 * (MATCH(section.name_se) AGAINST (? IN BOOLEAN MODE))) ) AS relevance
FROM content, section
    ORDER BY relevance DESC

PM WWW ICQ Skype GTalk Jabber   Вверх
Akina
Дата 30.12.2009, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Судя по сылкам, это MySQL (кстати, а фигли тогда вопрос в этом разделе делает?).
Если таблицы на MyISAM, и не требуется вывод данных или статистики раздельно по таблицам (или в таблицах есть идентифицирующее поле - а при его отсутствии можно пойти и на его создание), разумно использовать Merge Storage Engine.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Zloxa
Дата 30.12.2009, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161




M
Zloxa
Перенесено из баз данных



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0774 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.