Page 1 of 4

SPH_MATCH_ANY

Posted: Sun Aug 04, 2019 8:10 am
by Toxa
Здравствуйте! Разобью вопрос по пунктам для удобства.

1. Прописал в админке Sphinx Search Mod как SPH_MATCH_ANY, результата нет - ищет только полное вхождение фразы, одним словом результат поиска такой же, как и при пустом поле. Кеш сбрасывал, конфиг.пхп не трогал.

2. Ранее, когда использовал обычный поиск скрипта применял ?search=<!--URLSAFE_SEARCH_QUERY--> для вывода серчлога, со сфинксом вариант ?search=mature+anal находит видосы, а ?search=mature-anal уже нет. Есть задача сделать красивые урлы, но вот всё упирается в тире, я так понимаю что сфинкс mature-anal считает одним словом.

3. В сёрчлог добавлено более 1 млн. поисковых фраз, добавил в конфиг сфинкса search_queries по инстукции из вики, запустил индекс:
indexing index 'search_queries_index'...
collected 7230 docs, 0.1 MB
Как-то мало документов, я так понимаю, что проиндексились только те, что имеют более одного хита, а как проиндексить все?

Спасибо!

Re: SPH_MATCH_ANY

Posted: Sun Aug 04, 2019 8:33 am
by admin
1. это точно не пересекается с 2?

2. логично, тк + это пробел в урле, а минус это минус
если вы хотите сделать минус то можно заменять его на пробел в common.php

$_GET['search'] = str_replace('-',' ', $_GET['search']);

3. что б все достаточно из запроса удалить

WHERE hits > 0

Re: SPH_MATCH_ANY

Posted: Sun Aug 04, 2019 8:57 am
by Toxa
C вторым и третьим пунктом всё понял, спосибо.

По первому пункту, при поиске ?search=mature+ass либо ?search=mature%20ass выдает точное совпадение mature ass либо mature asshole, т.е. слова именно два, стоят рядом и именно в таком порядке. Может я не правильно понимаю SPH_MATCH_ANY, но задача в том, чтобы первыми шли результаты с точным совпадением, затем не точным, затем чтоб даже если одно слово совпало, то результат тоже выводился, как-то так. Поле Sphinx Ranker Mod сейчас пустое.

Re: SPH_MATCH_ANY

Posted: Sun Aug 04, 2019 9:03 am
by Toxa
Странно, но после добавления в конфиг $_GET['search'] = str_replace('-',' ', $_GET['search']); заработали как нужно все варианты поиска

Re: SPH_MATCH_ANY

Posted: Sun Aug 04, 2019 9:21 am
by admin
Обычно все "странно" растут из "ой, не туда посмотрел" )
Если все ок то и отлично)

Re: SPH_MATCH_ANY

Posted: Sun Aug 04, 2019 9:26 am
by Toxa
Подскажите, а SPH_MATCH_ANY распространяется на сёрчлог?

Re: SPH_MATCH_ANY

Posted: Sun Aug 04, 2019 9:34 am
by admin
Да, должно

Re: SPH_MATCH_ANY

Posted: Sun Aug 04, 2019 10:28 am
by Toxa
Ситуация следующая - при поиске в админке на странице серчлогов по слову twink находится 3 страницы совпадений https://prnt.sc/oo4ca3

Пытаюсь эти совпадения из серчлога вывести на странице поиска сиджа
<thumb num=1-46 search_log=all filter=GET_SEARCH>
результатов ноль, хотя по некоторым запросам один-два результата есть, но если опять же этот запрос ввести в админке, то результатов десятки страниц... что нужно сделать, чтобы результаты в админке совпадали с результатами на сидже?

Re: SPH_MATCH_ANY

Posted: Sun Aug 04, 2019 11:03 am
by admin
думаю вопрос в том что сфинкс не проиндксировал как описано выше
попробуйте без сфинкса для теста

Re: SPH_MATCH_ANY

Posted: Sun Aug 04, 2019 11:15 am
by Toxa
Попробовал без сфинкса, ищет. Долго правда, но работает. Ищет полные совпадения.
Переиндексил серчлог
sql_query = SELECT sq_id, search_query, hits, items_found FROM rot_search_queries GROUP BY search_query
Вышло более 700000 docs, но результат тот же, что и раньше - будто ищет только по 1% серчлога...