表示の省略記号は前後の断片にSOLR
質問
していまSOLRの設定を返し破片とfragsize500.
時には、全分野は500文字以下で、フラグメントと同一分野です。分野を超え、SOLRだけを返します断片をせずに表示(たとえばの話ですからね)の断片だけを表し、一部のコンテンツの分野です。この断片を開始することができる中。
作りたいということではないかと思われるユーザーさんを見分け表示を省略終了時には開始のような単純です。る機能を組み込SOLR?ない場合は、あなたは何点ぐらいになると思いるの挿入省略?
解決
私は何をやってしまったことの断片が作成されたフラグメントと変更されていないフィールドの両方を返していました。
私はその後省略記号の後またはその断片の前と後の両方で、前にそれを追加するかどうか、断片およびそうであれば追加されるべきかどうか。
を決定するために、2つを比較して、いくつかのロジックを書い他のヒント
Solrには、あなたは正しい、インジケータを返しません。
その後、あなたのUIのロジックのその迅速なビットは省略記号を表示するかどうかを判断するために501にごfragsizeを設定します。
切り捨て500および追加省略記号には何501。
う扱うのとする。のっていは次の通りです:
- オリジナルの文字列
- 車両の最初の10文字の文字列
- 車両の最初の10文字の断片によって返されるSolr検索
比較の両方が入手可変の時。
$f_ellip = NULL; $l_ellip = NULL; if ($orig_body_beggining != substr((string)$hl_content->str, 0, 10)) { $f_ellip = "… "; } if ($orig_body_end != substr((string)$hl_content->str, 0, -10)) { $l_ellip = " …"; } $entry_body = $f_ellip.(string)$hl_content->str.$l_ellip;
ここでは別のより良いアプローチです。インデックスを作成する際、このロジックは、既に適用している「ティーザー」属性を追加します。完全にあなたの要求のうち、その努力を押してください。それは私がこれを行うだろうかまさにます。
所属していません StackOverflow