Здравствуйте! Разобью вопрос по пунктам для удобства.
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
Как-то мало документов, я так понимаю, что проиндексились только те, что имеют более одного хита, а как проиндексить все?
Спасибо!
SPH_MATCH_ANY
Re: SPH_MATCH_ANY
1. это точно не пересекается с 2?
2. логично, тк + это пробел в урле, а минус это минус
если вы хотите сделать минус то можно заменять его на пробел в common.php
$_GET['search'] = str_replace('-',' ', $_GET['search']);
3. что б все достаточно из запроса удалить
WHERE hits > 0
2. логично, тк + это пробел в урле, а минус это минус
если вы хотите сделать минус то можно заменять его на пробел в common.php
$_GET['search'] = str_replace('-',' ', $_GET['search']);
3. что б все достаточно из запроса удалить
WHERE hits > 0
Don't forget to run script update
Re: SPH_MATCH_ANY
C вторым и третьим пунктом всё понял, спосибо.
По первому пункту, при поиске ?search=mature+ass либо ?search=mature%20ass выдает точное совпадение mature ass либо mature asshole, т.е. слова именно два, стоят рядом и именно в таком порядке. Может я не правильно понимаю SPH_MATCH_ANY, но задача в том, чтобы первыми шли результаты с точным совпадением, затем не точным, затем чтоб даже если одно слово совпало, то результат тоже выводился, как-то так. Поле Sphinx Ranker Mod сейчас пустое.
По первому пункту, при поиске ?search=mature+ass либо ?search=mature%20ass выдает точное совпадение mature ass либо mature asshole, т.е. слова именно два, стоят рядом и именно в таком порядке. Может я не правильно понимаю SPH_MATCH_ANY, но задача в том, чтобы первыми шли результаты с точным совпадением, затем не точным, затем чтоб даже если одно слово совпало, то результат тоже выводился, как-то так. Поле Sphinx Ranker Mod сейчас пустое.
Re: SPH_MATCH_ANY
Странно, но после добавления в конфиг $_GET['search'] = str_replace('-',' ', $_GET['search']); заработали как нужно все варианты поиска
Re: SPH_MATCH_ANY
Обычно все "странно" растут из "ой, не туда посмотрел" )
Если все ок то и отлично)
Если все ок то и отлично)
Don't forget to run script update
Re: SPH_MATCH_ANY
Подскажите, а SPH_MATCH_ANY распространяется на сёрчлог?
Re: SPH_MATCH_ANY
Ситуация следующая - при поиске в админке на странице серчлогов по слову twink находится 3 страницы совпадений https://prnt.sc/oo4ca3
Пытаюсь эти совпадения из серчлога вывести на странице поиска сиджа
<thumb num=1-46 search_log=all filter=GET_SEARCH>
результатов ноль, хотя по некоторым запросам один-два результата есть, но если опять же этот запрос ввести в админке, то результатов десятки страниц... что нужно сделать, чтобы результаты в админке совпадали с результатами на сидже?
Пытаюсь эти совпадения из серчлога вывести на странице поиска сиджа
<thumb num=1-46 search_log=all filter=GET_SEARCH>
результатов ноль, хотя по некоторым запросам один-два результата есть, но если опять же этот запрос ввести в админке, то результатов десятки страниц... что нужно сделать, чтобы результаты в админке совпадали с результатами на сидже?
Re: SPH_MATCH_ANY
думаю вопрос в том что сфинкс не проиндксировал как описано выше
попробуйте без сфинкса для теста
попробуйте без сфинкса для теста
Don't forget to run script update
Re: SPH_MATCH_ANY
Попробовал без сфинкса, ищет. Долго правда, но работает. Ищет полные совпадения.
Переиндексил серчлог
sql_query = SELECT sq_id, search_query, hits, items_found FROM rot_search_queries GROUP BY search_query
Вышло более 700000 docs, но результат тот же, что и раньше - будто ищет только по 1% серчлога...
Переиндексил серчлог
sql_query = SELECT sq_id, search_query, hits, items_found FROM rot_search_queries GROUP BY search_query
Вышло более 700000 docs, но результат тот же, что и раньше - будто ищет только по 1% серчлога...







