Как Sphinx хранит пустые поля и как это влияет на производительность?

StackOverflow https://stackoverflow.com/questions/420733

Вопрос

Я думаю об использовании запроса sphinx для индексирования многих полей (сотнями), многие из которых будут нулевыми. Мой вопрос: насколько много пустых полей повлияет на производительность?

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

Я предполагаю, что производительность / успех зависит от того, что Sphinx делает с нулевыми значениями ... если он просто игнорирует их, тогда у меня все будет в порядке, но если он действительно запоминает, что поле является нулевым в своем индексе, я может быть проблема.

Это было полезно?

Решение

Очевидно, что текущая версия Sphinx ограничена 32 текстовыми полями на индекс (неограниченное число), поэтому мне пришлось бы разделить данные на несколько различных индексов, чтобы достичь этого, если только все данные не могут быть представлены численно (а мои нет). Вернуться к чертежной доске!

Другие советы

Большое количество пустых полей не сильно повлияет на производительность. Основная проблема со многими пустыми полями в том, что они съедят хороший кусок памяти.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top