Подсветка слов при поиске


lutskboy
291

Привет

я использую на сайте поиск Sphinx. Раньше там была возможность в api сделать подсветку. щас я использую Sphinxql.

и как там сделать я не знаю

может кто знает как тогда реализовать ето на php?

я могу подсветить искомые слова только точное совпадение. а как мне выделить например

машина машины машинам?


Dreammaker

lutskboy, если я правильно понял, то http://sphinxsearch.com/docs/current.html#sphinxql-call-snippets


lutskboy

да. я тоже нашел ето. но оно работает в самом цикле

$results = $mysqli->query(«SELECT *, WEIGHT() FROM my_index WHERE MATCH(‘месси|роналду|приедут’) LIMIT 100 OPTION ranker=bm25»);

while($row = $results->fetch_assoc()) {

$full_story = strip_tags($row[‘full_story’]);
$res = $mysqli->query(«CALL SNIPPETS(‘».$full_story.»‘, ‘my_index’, ‘месси|роналду|приедут’,
‘<strong>’ AS before_match, ‘</strong>’ AS after_match, 5 AS around, 200 AS limit)»);
echo $res->fetch_assoc()[‘snippet’].»\n»;
}

а хотелось бы типа так

$results = $mysqli->query(«SELECT *, WEIGHT(), SNIPPET(FETCH_FROM_SOURCE(‘title’), ‘my_index’, ‘месси|роналду|приедут’) AS title_snippet FROM my_index WHERE MATCH(‘месси|роналду|приедут’) LIMIT 100 OPTION ranker=bm25»);

но не работает

там есть еще sphinx_snippets. но не разобрался с ним


Dreammaker

lutskboy, http://sphinxsearch.com/forum/view.html?id=8563

вот тут ещё в 2011 году писалось, что есть возможность передать запросы call snippets пачкой, разделяя их запятой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *