2012-02-20 7 views
3

「fish」という単語を検索すると、その単語とその単語の亜種を含む文書のリストが返されます。私はこのようになりますスニペットが表示される場合がありますハイライト表示をオンにした場合: 法律はその誰<em>釣り公共の湖で</em>が必要です...Solrによって強調表示された用語のリストを取得

私は、ユーザーにで正常に動作します上記のスニペットを表示したいと思いますところで、すべてのスニペットを表示しても、ハイライトされた単語の完全なリストをユーザーに表示したいと思う。例えば

私は、ユーザーに次を表示できるようにしたいと思います:

セクション18.32A - 狩猟と釣り ...法律は、公共の湖でその誰<em>釣り</em>が必要です... ドキュメントも含まれています:魚、釣り、漁師

はSolrの高い持つ以外の単語のリストを取得する方法あなたです文書全体を照らし、次にemタグを探して文書を解析し、強調表示された単語のリストを作成しますか?

+1

私はドキュメントから**すべての**スニペットを取り出して、抽出しやすい形式にする必要があるでしょう。 [強調表示オプション](http://wiki.apache.org/solr/HighlightingParameters)を使用して、ドキュメントの「深く」に貫通することで小さなサイズのスニペットをたくさん取り出す必要があります。 2つのフィールドに複製されたデータが必要な場合があります(醜い場合).1つは読み取り可能なスニペットを表示し、もう1つは同じステムの単語を取得します(ステミングを参照)。 – aitchnyu

答えて

1

解決策を見つけるために、脆弱なサイズ(hl.fragsize)、同義語(synonym.txt)、またはステミング(単語のバリエーションを助けることができます)を調べます。あなたは、魚、釣り、すべての同義語で同じ意味を魚を設定することができます。展開のすべてがどのように機能するのか、検索でそれぞれを置き換えるかどうかを理解してください。また、シノニムファイルやクエリをインデックスに登録するかどうかを確認してください。インデックスとクエリの両方でシノニムを使用しないでください。ハイライト表示で複数の一致を可能にするスイッチもあります。

関連する問題