MySQL присоединяется и полный текстовый поиск

Любой полнотекстовый, MySQL эксперты там?

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

С тех пор у меня была хорошая попытка освоить его сам, создавая несколько успешных испытаний, против моих полнотекстовых полей. Если я не использую никаких соединений, и запроси каждое поле индивидуально, полнотекстовые функции отлично работают и актуальны / логические работы отлично подходят с большой производительностью ... но ... как только я добавлю свои присоединения, чтобы запустить полный запрос это бежит навсегда и всегда.

Может ли кто нибудь заметить что-нибудь в моем вопросе, который может вызвать это, потому что как любитель, я действительно не вижу этого!

SELECT

photos.photoID,
photos.headline,
photos.dateCreated,
MATCH (people.people) AGAINST ('+sarah +harding' IN BOOLEAN MODE) AS Rel1

FROM photos

LEFT JOIN ( photoPeople INNER JOIN people ON photoPeople.peopleID = people.PeopleID ) 
ON photos.photoID = photoPeople.photoID AND MATCH (people.people) AGAINST ('+sarah +harding' IN BOOLEAN MODE)

WHERE

photos.photoStatus = 'Live'

GROUP BY

photos.photoID

ORDER BY Rel1

Это один из моих успешных, индивидуальных, запросов:

SELECT

photoID,
headline,
dateCreated,
MATCH (caption) AGAINST ('+sarah +harding' IN BOOLEAN MODE) AS Relevance

FROM photos

WHERE

photoStatus = 'Live'

AND

MATCH (caption) AGAINST ('+sarah +harding' IN BOOLEAN MODE)

ORDER BY Relevance

Это схема БД:

photos (tbl)
photoID             INT(11)         Primary     Auto-Increment
headline            Long-Text
caption             Long-Text / FULLTEXT
dateCreated         DateTime

people (tbl)
peopleID            INT(11)         Primary     Auto-Increment
people              VarChar(255) / FULLTEXT

photoPeople (tbl)
photoID             INT(11)
peopleID            INT(11)

keywords (tbl)
keywordID           INT(11)         Primary     Auto-Increment
keyword             VarChar(255) / FULLTEXT

photoKeyword (tbl)
photoID             INT(11)
keywordID           INT(11)

photoContributor (tbl)
photoID             INT(11)
contributorRef      VarChar(100) / FULLTEXT

, и это мое объяснение распечатки:

id  select_type         table               type        possible_keys       key     key_len     ref     rows
1   SIMPLE              photos              ALL         NULL                NULL        NULL        NULL        89830
1   SIMPLE              photoContributor    ALL         NULL                NULL        NULL        NULL        149635  
1   SIMPLE              photoPeople         ALL         NULL                NULL        NULL        NULL        110606
1   SIMPLE              people              eq_ref      PRIMARY             PRIMARY     4       1   
1   SIMPLE              photoKeyword        ALL         NULL                NULL        NULL        NULL        699102  
1   SIMPLE              keywords            eq_ref      PRIMARY             PRIMARY     4       1

Мой посетитель сайта должен иметь возможность искать: «Brad Pitt Angelina Jolie Dorchester Hotel Sunglasses @mg» - это должно найти «Брэд Питт» и «Анджелина Джоли» из «Народных людей» и, возможно, таблицы Photos.Caption. Следует также найти «Dorchester Hotel» из таблицы «Photos.Caption», «Солнцезащитные очки» из таблицы «Keyworks KKeyword» и, наконец, он должен найти «@MG» в таблице «Photoconibutributributor».

Любая помощь по этому будет получена с благодарностью ...

6
задан TheCarver 9 September 2011 в 13:48
поделиться