#php #mysql #sphinx
#php #mysql #сфинкс
Вопрос:
Я ищу sphinx и обнаружил способ настройки фильтров по одному или нескольким критериям. Я получу базу данных рецептов.
В тесте у меня есть таблица «записи». У меня есть карточки для каждого поля типа integer. У меня также есть поле «вид» и, наконец, последнее поле под названием «ингредиенты».
Я ищу несколько вещей. Для следующего примера у меня есть эта база данных, которая работает, но не завершена:http://pastebin.com/80LbtnZW и это мой sphinx.conf:http://pastebin.com/Nmpci1aC Сначала я хотел бы показать свой тип поля только в порядке убывания идентификатора, что мне следует добавить? Теперь я бы добавил фильтр и выбрал только те шоколадные конфеты, которые являются kind = 2. И, наконец, то же самое, с дополнительным фильтром ingredients = ‘молоко’
Что я должен добавить в качестве фильтра для сортировки по идентификатору, а затем для установки одного или нескольких фильтров.
Комментарии:
1.
In the pastry, I have a table "records". I have cards for every type field is an integer. I also have a field "kind" and finally a last field called "ingredients".
WTF? В выпечке? Что это значит?2. В моей таблице «кондитерские изделия» (Bakery) У меня есть три поля: «записи», «вид» и «ингредиенты».
3. Я предлагаю вам обновить свой вопрос, чтобы отразить это. В нынешнем виде этот вопрос довольно нечитабелен. Пожалуйста, также ознакомьтесь с документацией по форматированию для StackOverflow, чтобы вы могли преобразовывать определения таблиц в неупорядоченные списки и т.д.
4. Привет, друг, я новичок в sphinx. Я получаю сообщение об ошибке №: 111
Ответ №1:
Сортировка по идентификатору…
$sphinx->SetSortMode(SPH_SORT_EXTENDED, '@id DESC');
Добавьте фильтр…
$sphinx->SetFilter('kind', array(2));
Вы можете добавить столько фильтров, сколько захотите, убедитесь, что вы выделили поля, которые вы фильтруете, как атрибуты.
Комментарии:
1. Спасибо! Но я не знаю почему, я получаю этот результат, когда пытаюсь установить setFilter: bool(false);
2. С помощью getError я получаю это: index recipes: нет такого атрибута фильтра ‘type’.
3. убедитесь, что вы сделали это перед вашим запросом и разместили весь свой php-код в pastebin