|
|
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Задача такова: нужно выполнить полнотекстовый поиск по полям, которые разбросаны по куче таблиц. Я, значит объединяю их в одну таблицу и пытаюсь в ней искать. Но тут я достиг пределов своих познаний в MySQL. Он выдает ошибку: #1214 - The used table type doesn't support FULLTEXT indexes. Запрос: ------------------ Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ------------------- Не могу понять на что он ругается. Либо на то, что созданная таблица joined_tbl не MyISAM, либо входящие в ее состав таблицы не MyISAM. При этом, проверил, и таблицы, по полям которых производится полнотекстовый поиск имеют тип MyISAM. Внутренняя таблица собирается нормально. Проблемы начинаются уже после того, как в ней начинается поиск. В любом случае, подскажите, что с этим делом делать. Может я выбрал не лучший вариант поиска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 13:09:00 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
что такое 'искомое_слово' в твоём понимании? а лучше более конкретно - что на входе, и что требуется получить это к тому, что по приведённому запросу FULLTEXT нафик не нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 14:04:39 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Сам запрос пишется для поиска по базе. искомое_слово -- это то, что я буду искать. То, что пользователь введет в форме поиска. Есть несколько таблиц: cat_item -- элементы каталога с описанием. в полях name, phone, work_time cat_street -- таблица названий улиц и т.д. все связаны с cat_item И потом по выбранным полям ищем MATCH-ем. Для того и FULLTEXT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 14:35:56 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Подзапрос - это фактически новая, пусть и временная, таблица. Которая, ясен пень, никак не индексирована. Так что FULLTEXT поиск на ней в принципе невозможен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 15:52:54 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Akina, И чтоже теперь делать? Не подскажете? Самое умное, что мне пришло в голову, это создать поле, в которое сливать весь текст, который связан с записью таблицы. А искать по этому полю. Только решение это душу мне не греет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 16:18:12 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Если нужно найти слово в группе полей - то делайте отбор в самОм подзапросе: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 16:26:36 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Возможно, придётся делать MATCH..AGAINST потаблично (объединишь через OR). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 16:27:26 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Akina, MATCH не проканает. А если так? Слить все искомые поля в строку и Лайком его. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 17:29:29 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Ну а сам-то как думаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 17:49:16 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Грустно получается. Вот как думаю. Что-то выдает, но не совсем то, что ожидал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 17:52:10 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
тут лайк самое правильное а что ты ожидал и что выдаёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 19:10:09 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
вадятут лайк самое правильное Я думаю, что INSTR() ещё правильнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 22:47:34 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Akinaвадятут лайк самое правильное Я думаю, что INSTR() ещё правильнее. возможно, а есть данные по сравнению по скорости? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 07:58:11 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
В общем, все красоты похерил. Сошелся на том, что создал поле и туда в момент обновления записи сливаю всю текстовую инфу по клиенту очищенную от шелухи: знаков препинания, тегов, коротких слов. И лайком его! как говорится, хотели как лучше, а вышло как обычно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 18:30:31 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38915359&tid=1833391]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 299ms |

| 0 / 0 |
