|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
Доброй ночи! В FB4.0 будет что нибудь оптимизировано в плане быстрого поиска по текстовым полям (CONTAINIG, LIKE)? Хотелось бы - Триграмный индекс Пример 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2017, 00:17 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
dimitrсфинкс пробовал? Сфинкс работает прекрасно, претензий к нему нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2017, 00:20 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
так шашечки или ехать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2017, 09:08 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
Можно подумать о более тесной интеграции со sphinx'ом. Но нужен кто-то, кто хорошо знает и понимает задачи FTS и sphinx ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2017, 12:12 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
hvladМожно подумать о более тесной интеграции со sphinx'ом. Но нужен кто-то, кто хорошо знает и понимает задачи FTS и sphinx Нужна либо поддержка, например, триграмного индекса, либо более тесная интеграция со sphinx, например как в PG тут ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2017, 21:51 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
__Avenger__Нужна либо поддержка, например, триграмного индекса, либо более тесная интеграция со sphinx, например как в PG Поддержу, т.к. для многих задач (без учёта морфологии и индивидуального тюнинга FTS) простого like хватает. Его оптимизация через триграмы творит чудеса. Сам лично гонял тесты на PG. По сугубо личным ощущениям у 30-50% пользователей именно триграмы решат поставленные задачи. FTS же совсем отдельная тема. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 00:21 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
afgmСам лично гонял тесты на PG. А что, они решили с беглыми гласными и согласными в русском языке? Али всё по прежнему убого - в рамках тарабарского. afgmбез учёта морфологии... FTS не существует. Без нее - ни чуть не лучше like. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 00:26 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
Насколько триграммный индекс замедляет вставки ? Сколько он занимает места ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 00:27 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
Di_LIneafgmСам лично гонял тесты на PG. А что, они решили с беглыми гласными и согласными в русском языке? Али всё по прежнему убого - в рамках тарабарского. Поиск по триграмному индексу работает в PG некорректно для русского языка? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 00:30 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
afgmПоиск по триграмному индексу работает в PG некорректно для русского языка? Так это ты же тестил. Вот я и интересуюся про беглые буквы, коих в русском язхыке предостаточно. Слова, типа "вошь" и "вша" - как он справляется? Или по проще: "церковь" -> "церквей". Да хоть семигранный индекс, главное что бы искал правильно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 00:40 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
hvladНасколько триграммный индекс замедляет вставки ? Сколько он занимает места ? Подозреваю, что Влад знает ответы на эти вопросы, но хочет услышать их от просителей :) В нецифровых оценках: замедляет ощутимо, места требует, уже не помню, но прилично. Правда поддерживать индекс в Sphinx, или имитировать работу триграмм (правильно таки две "м"), тоже накладно, да ещё и запросы получаются громоздкими. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 00:47 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
Di_LIneТак это ты же тестил. Вот я и интересуюся про беглые буквы, коих в русском язхыке предостаточно. Слова, типа "вошь" и "вша" - как он справляется? Или по проще: "церковь" -> "церквей". Да хоть семигранный индекс, главное что бы искал правильно. А like справляется с такими? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 00:50 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
hvladНасколько триграммный индекс замедляет вставки ? Берем текст 64K, делим на 7,2 букв (среднее в русском слове) получаем ~ 9100 слов. Умножаем кол-во слов на 5 (среднее кол-во словоформ) и... - Дорогая переда, на Канатчиковую дачу... (далее близко по тексту Классика) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 00:51 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
afgmА like справляется с такими? А я тебе что сразу сказал, ась? ( тынц ) Без учета морфологии Русского Языка - называться FTS система НЕ может. Ибо она ни чем не лучше, чем like. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 00:55 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
Di_LIneafgmА like справляется с такими? А я тебе что сразу сказал, ась? ( тынц ) Без учета морфологии Русского Языка - называться FTS система НЕ может. Ибо она ни чем не лучше, чем like. Ты даёшь тынц, в укор, что я тебя не читаю. Однако сам не читаешь. С пояснениями: afgmПоддержу, т.к. для многих задач (без учёта морфологии и индивидуального тюнинга FTS т.е. задач не требующих всех плюшек FTS ) простого like хватает. Его оптимизация (like-а и никого более) через триграмы творит чудеса. Сам лично гонял тесты на PG (именно like-а на триграммах) триграммы - ускорение поиска по like (и то не во всех случаях) и ничего более . similarity там довеском, и морфологию не учитывает. FTS - сосем иная тема, и предлагаю её не мешать в одну кучу. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 01:13 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
__Avenger__Нужна либо поддержка, например, триграмного индексаЯ сам его руками не трогал, но могу предположить что: - это можно относительно легко сделать на базе наших B-tree индексов - это будет жутко тормозить вставки, апдейты и сборку мусора - сам индекс будет занимать гораздо больше места, чем обычный индекс по строке - скорость поиска далеко не всегда будет ожидаемо высокой afgmПодозреваю, что Влад знает ответы на эти вопросы, но хочет услышать их от просителей :)Не знает, но предполагает :) И - да - хочет :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 01:38 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
afgmС пояснениями: Так и запишем: - Всё по прежнему уныло, сиро и убого, аки тарабарский. О чем и был первый мой вопрос. ( тынц ) Но ты жеж нечетатель... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 01:40 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
__Avenger__либо более тесная интеграция со sphinx, например как в PG тут Это чем-то принципиально отличается от твоей библиотеки ф-ций для 3-ки ? Говоря об интеграции, я имел в виду именно интеграцию, а не расширение с помошью UDF. От нативной поддержки в SQL до управления самим поисковым движком sphinx. Да, я тоже иногда люблю помечтать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 01:42 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
Di_LIneО чем и был первый мой вопрос. ( тынц ) Это конечно интересный метод: отвечать на выдуманные тезисы, но, прошу, не скатывайся до rdb_dev тут ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 02:39 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
afgmЭто конечно интересный метод: отвечать на выдуманные тезисы... Дружок... Ответ на мой вопрос про "беглые буквы" - тру или фолс. И вся не долга. Решили эту проблему или нет. И я тебя не заставлял написать: " Сам лично гонял тесты на PG." Раз гонял тесты, то почему бы и не задать тебе такой элементарный вопрос? Ведь раз шпрехаешь по-русски, то далжОн и это про тестит, как наиболее часто встречающуюся особенность Русского Языка. А если не протестил, то кто тебе ССЗБ? Тебе не врезали по айцам: - А как там дела с словами-исключениями из Правил Русского Языка. Таких слов тоже предостаточно: Цыган на цыпочках... и далее во всех вариациях. И заметь - не размазали ровным слом ниже плинтуса вопросом: - А как обстоит дело со вновь заимствованными словами и их "русификацией"? Типа: "Окейно" и прочее разговорно-жаргонное словотворчество населения. - Так чёго кипешишь? Али чуешь, что пальцы дверкой прищемили тем вопросом? ;-) А вот твой метода - отвечать вопросом на вопрос. Но и в это ты не силен. PS: Ну знаю, по каким местам бить адептов FTS-тарабарских какбэ-систЭмс. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 04:08 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
hvlad__Avenger__либо более тесная интеграция со sphinx, например как в PG тут Это чем-то принципиально отличается от твоей библиотеки ф-ций для 3-ки ? Говоря об интеграции, я имел в виду именно интеграцию, а не расширение с помошью UDF. От нативной поддержки в SQL до управления самим поисковым движком sphinx. Да, я тоже иногда люблю помечтать :) Если это будет оформлено как плагин я только за. Мне кажется, что для работы со сфинкс большинству пользователей хватит функции, которая будет возвращать результирующий набор с данными. В моей реализации недостатки следующие: 1. Во первых она не на C. 2. В UDR я не могу вернуть набор с произвольным количеством столбцов. Т.е если я написал запрос для Sphinx Код: sql 1.
, то мне необходимо заренее объявить функцию, которая возращает нужный набор столбцов, например так: Код: sql 1. 2. 3. 4. 5. 6. 7.
Либо делать более универсальное решение, например такое: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
И потом вызывать, например так: Код: sql 1.
А хочется так: Код: sql 1.
И запрос сразу возвращает нужное количество полей с нужным типом. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 08:58 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
hvlad__Avenger__Нужна либо поддержка, например, триграмного индексаЯ сам его руками не трогал, но могу предположить что: - это можно относительно легко сделать на базе наших B-tree индексов - это будет жутко тормозить вставки, апдейты и сборку мусора - сам индекс будет занимать гораздо больше места, чем обычный индекс по строке - скорость поиска далеко не всегда будет ожидаемо высокой Те, кому нужен этот индекс должны понимать и про большие накладные расходы на размер индекса, скорость вставки и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 09:00 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
hvladЯ сам его руками не трогал, но могу предположить что: - это можно относительно легко сделать на базе наших B-tree индексов - это будет жутко тормозить вставки, апдейты и сборку мусора - сам индекс будет занимать гораздо больше места, чем обычный индекс по строке - скорость поиска далеко не всегда будет ожидаемо высокой Было бы очень интересно, даже так: ОЧЕНЬ интересно. Как я себе вижу применение, что прежде всего справочник ассортимента с сопутствующими справочниками типа брендов, в свете пожеланий руководства расширить ассортимент на порядок (с 200 тыс наименований до пары миллионов). В силу того, что ассортимент, это не выписка первички, путь немного тормознется вставка, готовы мириться. Если это закачка ассортимента поставщика, то она пойдет отдельным тредом, скорее всего в непиковое время, тоже не вопрос, если будет идти дольше в два-три раза. "Жутко тормозить" - это сколько в "разах"? Место... ну а что место, решим "в железе", короче, тоже готовы мириться. Скорость поиска будет хромать? А почему? хотелось бы чуть более расширенную версию, для тех, кто "не совсем в теме". Морфология... ну а что морфология, решили навешиванием справочника синонимов на некоторые справочники и поиска тем же контайнингом и по синонимам тоже, может и топорно, но работает. хундай, хёндэ, ... hyundai, бош опять таки, находит. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 13:08 |
|
FB 4.0 Вопрос
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, если делать на базе имеющихся b-tree индексов, то нужно понимать что - в индекс будет вставляеться не один ключ, а столько, сколько триграмм в индексируемой строке - эти триграммы могут быть в совершенно разных ветках индекса, т.е. операция затронет гораздо больше страниц и потребует больше random-io - то же самое при удалении из индекса - то же самое при поиске - придётся искать не один ключ, а столько, сколько триграмм в искомой строке Достаточно аргументов ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2017, 13:15 |
|
|
start [/forum/topic.php?fid=40&fpage=49&tid=1561739]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 163ms |
0 / 0 |