WebMaster's Social Network

Сообщество русскоязычных вебмастеров и дорвейщиков в формате блогов - дорвеи, доргены, партнерские программы, заработок в интернете.


Роман Питерский

Mik, ты использовал при создании таблицы токенайзер Портера или заюзал дефолтный? Сегодня наконец...

Mik, ты использовал при создании таблицы токенайзер Портера или заюзал дефолтный? Сегодня наконец то разобрался с FTS4 и допилил на нем поиск. Работает достаточно шустро: 100 товаров из базы на 3кк извлекает в среднем за 0.01 сек. Если в запросе использовать NEAR/5 +-пару цифр, релевантность очень хорошая. Для буржа походу Портер предпочтительный, для рунета х.з. Ты как думаешь?

Ответы:
Mik Foxi Mik Foxi #52087 2016-03-29 19:44
Сама база у меня просто виртуальная таблица с фтс4. Я нашел php либу для стемминга русских слов. При загрузке контента в базу - сохраняю оригинальное слово + нормализованное. И кстати учти что fts таблицы без типов данных (т.е. там пох text или integer) в итоге выборка с сортировкой по цене по умолчанию будет кривая, сравниваемая как строки.

Роман Питерский Роман Питерский #52090 2016-03-29 21:02
Mik Foxi, понятно, спасибо. Я тоже только одну таблицу использую. Да, с сортировкой по цене не комильфо, но можно делать выборку, например 100-200 товаров, а потом уже их отдельно сортировать и выводить только нужные. Костыль, но заюзать можно)

Mik Foxi Mik Foxi #52092 2016-03-29 21:11
Роман Питерский, костылей не надо. При запросе ORDER BY CAST(price AS INTEGER) ASC выравнивает сортировку чисел. price это имя столбца.

Роман Питерский Роман Питерский #52097 2016-03-29 23:03
Mik Foxi, ок, спасибо