Получить выдержку вокруг поискового слова

Я использую Sphinx для индексации и поиска на своем сайте.

Есть ли способ вернуть отрывок (искомое слово и несколько слов вокруг него) при поиске какого-либо слова.

Сейчас я использую этот пакет scalia.

 $results = SphinxSearch::search($search, $index_type);

 // I Set match, sort and ranking mode
 $results
    ->setMatchMode($search_mode)
    ->setSortMode($sort_mode, $sort_column)
    ->setRankingMode(\Sphinx\SphinxClient::SPH_RANK_SPH04);
  //set field weights
  $results->setFieldWeights(array('title'  => 10,'content'=> 5));

  //and get results
  $results = $results->limit(300, 0, 1000, 100000)->query();

Есть ли способ заставить Sphinx возвращать отрывок текста, в котором он нашел искомые ключевые слова?


person Ned    schedule 20.10.2014    source источник


Ответы (1)


Вам нужна функция BuildExcerpts из SphinxAPI http://sphinxsearch.com/docs/current.html#api-func-buildexcerpts

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

person barryhunter    schedule 21.10.2014
comment
Да, кажется, это оно. Спасибо, я попробую. - person Ned; 22.10.2014