Ответы пользователя по тегу MySQL
  • Почему manticore (sphinx) не создаёт локальный индекс?

    ManticoreSearch
    @ManticoreSearch
    path = C:/Manticore/var/data/myindex1/

    Уберите слэш в конце или добавьте после него что-то, иначе у вас получается имя файла индекса пустое.

    возможно ли как-то не останавливая службу почистить какой-то командой query.log


    echo "" > query.log

    или

    mv query.log query.log.1 и flush logs в searchd или отправить сигнал USR1

    обязательно ли вести лог всех запросов?


    нет
    Ответ написан
    1 комментарий
  • Как организовать пагинацию, если БД и поисковая машина - это раздельные сервисы?

    ManticoreSearch
    @ManticoreSearch
    У всех Документов есть особенность - каждому из них соответствует текстовое содержимое, по содержимому которого и необходимо одновременно с поиском по параметрам выполнять фильтрацию

    А в Sphinx / Manticore какой функциональности не хватает, чтобы фильтровать сразу сразу и по полнотексту, и по всему остальному? Можно пример?

    - заносить все параметры для фильтрации в индекс поисковой машины - ужасный вариант, так как поисковая машина выполняет фильтрацию по обычным своим полям очень медленно

    Можно пример запроса по "поисковая машина выполняет фильтрацию по обычным своим полям очень медленно". Не пойму что вы имеете в виду под "обычными своими полями" и почему вдруг получается медленно.
    Как по мне - этот вариант наиболее оптимальный в вашем случае. Фильтровать по полнотексту в одном месте и неполнотексту в другом и при этом оперировать сотнями тысяч документов возможно, но не всегда может получиться добиться хорошей производительности, т.к. всё будет упираться в то, что отфильтрованное в одном месте нужно будет передать в другое. А в случае, если делать всё в одном месте это происходит автматически.

    плюс встает необходимость содержать актуальными две копии данных - в БД и поисковой машине

    Так а сейчас вы разве это уже не делаете? Просто нужно дополнительно с id/full-text field синхронизировать и другие поля, по которым хочется в итоге фильтровать. Если вы имеете в виду, что сложно синхронизировать обновления документов, то для plain индексов есть main+delta для таких случаев (https://play.manticoresearch.com/maindelta/) , для RT - зависит от приложения.
    Ответ написан
    Комментировать
  • Как сохранить состояние дельта-индекса sphinx?

    ManticoreSearch
    @ManticoreSearch
    Делайте индексацию через xmlpipe, tsvpipe или csvpipe, которые работают так, что можно указать команду, которая и вернет все данные, которые должны быть проиндексированы. Эта же команда может и сохранить состояние куда нужно, а не только туда, откуда она читает данные.
    Ответ написан
    Комментировать