Любой полнотекстовый, 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».
Любая помощь по этому будет получена с благодарностью ...