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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Fulltext search, Игнорирует некоторые вхождения 
:(
    Опции темы
Onis
  Дата 23.10.2011, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Привет винград,
Есть две такблицы
Код

CREATE TABLE `nc_user_information` (
  `uid` int(11) NOT NULL COMMENT 'user_id',
  `first_name` varchar(255) NOT NULL,
  `last_name` varchar(255) NOT NULL,
  `job_title` varchar(255) NOT NULL,
  `location` varchar(255) NOT NULL,
  `twitter` varchar(255) NOT NULL,
  `facebook` varchar(255) NOT NULL,
  `department` varchar(255) default NULL,
  `avatar` varchar(255) default NULL,
  `lastActivity` datetime NOT NULL,
  `status` enum('ofline','online','invisible') NOT NULL default 'online',
  PRIMARY KEY  (`uid`),
  FULLTEXT KEY `info` (`first_name`,`last_name`,`job_title`,`location`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE `nc_users` (
  `id` int(11) NOT NULL auto_increment,
  `login` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `lang` varchar(2) NOT NULL default 'en',
  `signup_date` datetime NOT NULL,
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `email` (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8


В этих таблицах присутствует запись некой Дэбби

Код

uid: 5
first_name: Debbie
last_name: Right
job_title: Human Resources
location: Ottawa
...


При запросах с ключевыми словами из ее фамилии получаю пустой результат
пример запроса:
Код

SELECT ui.* FROM nc_user_information ui, nc_users u
WHERE 
ui.uid = u.id
AND
MATCH(ui.first_name, ui.last_name, ui.job_title, ui.location) AGAINST('+right*' IN BOOLEAN MODE) GROUP BY u.id

Но по имени, должности и местонахождению поиск работает.
Please advise  smile

Добавлено через 1 минуту и 28 секунд
Хотелось бы добавить что у остальных записей подобного поведения не наблюдал, и запись Дэб не отличается от остальных.
PM MAIL   Вверх
Zloxa
Дата 24.10.2011, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Цитата(Onis @  23.10.2011,  22:13 Найти цитируемый пост)
При запросах с ключевыми словами из ее фамилии получаю пустой результа

А прост джойн - что возрващает?
Код

SELECT ui.* FROM nc_user_information ui, nc_users u
WHERE 
ui.uid = u.id
and ui.uid =5




--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Akina
Дата 24.10.2011, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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





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

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


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Akina, спасибо. Хотелось бы задать еще вопрос. Как я понял это можно исправить только редактированием ft_stopword_file, но к сожалению я проверил по ssh что у меня нет доступа к mysql на сервере клиента, можно ли это сделать еще каким-то способом кроме как переписыванием скрипта под LIKE конструкцию?

Zloxa, Это было первое что я попробовал, тот же результат, проблема действительно в stopword's о которых, к своему сожалению, я не знал.

Это сообщение отредактировал(а) Onis - 24.10.2011, 18:34
PM MAIL   Вверх
Akina
Дата 24.10.2011, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(Onis @  24.10.2011,  19:08 Найти цитируемый пост)
можно ли это сделать еще каким-то способом кроме как переписыванием скрипта под LIKE конструкцию?

Использовать внешние средства полнотекстового поиска. Типа Сфинкса.
Впрочем, не убеждён, что у тебя наберётся прав на это...


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

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


Создатель
***


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

Репутация: нет
Всего: 8



1. Можно попросить службу поддержки решить проблему;
2. Можно ввести справочник "antistowords" и выполнять запрос типа
Код
.. and exists(
 select 1 from antistopwords where ?query regexp concat('^.*', word, '.*') -- какое-то-там регулярное выражение
)
;
3. Можно создать FTS самостоятельно (таблица со всеми словами для конкретной записи). Жаль, нет прав на создание триггеров, но можно и без них.

PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




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


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

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