2017-08-16 7 views
0

私はdjango-oscarプロジェクトをセットアップし、solr 4.7.2をdocumentationとして有効にしました。solを使用したdjango-oscarの提案を検索

Solrは正常に動作しているようです。 'exxample' の提案をテストする(?はlocalhost:8983/Solrの/ collection1 /スペルspellcheck.q = exxample &スペルチェック=真>)私が手:

<response> 
    <lst name="responseHeader"> 
    <int name="status">0</int> 
    <int name="QTime">10</int> 
    </lst> 
    <result name="response" numFound="0" start="0"/> 
    <lst name="spellcheck"> 
     <lst name="suggestions"> 
      <lst name="exxampl"> 
       <int name="numFound">1</int> 
       <int name="startOffset">0</int> 
       <int name="endOffset">8</int> 
       <int name="origFreq">0</int> 
       <arr name="suggestion"> 
       <lst> 
        <str name="word">exampl</str> 
        <int name="freq">2</int> 
       </lst> 
       </arr> 
      </lst> 
      <bool name="correctlySpelled">false</bool> 
      <lst name="collation"> 
       <str name="collationQuery">exampl</str> 
       <int name="hits">2</int> 
       <lst name="misspellingsAndCorrections"> 
        <str name="exxampl">exampl</str> 
       </lst> 
      </lst> 
     </lst> 
    </lst> 
</response> 

私も必ずSolrのことを確認するためにOSCAR_SEARCH_FACETSを有効にしていますDjango-Oscarによって正しく登録されており、正常に動作しているようです。

しかし、私がdjango-oscarで簡単なスペルミスをテストすると、検索結果は0回、提案は返されません。私は次に何をすべきか分からない。

大変お手伝いいたします。

答えて

1

私はこの問題を解決できました。セットアップ手順には公式文書に記載されているものからの調整が必要なので、私はDjango-Oscarのスペル候補をSolrに設定するための完全な解決策を書いていきます。これはSolr(または他の検索エンジン)と一緒に作業して初めてのことですので、専門家の指導を期待せず、SolrをOscarでどうやって稼働させるかについてのガイドです。

私は、Solr 4.7.2でOscar 1.5を使用しています(ソリューションは4.10.4でも動作しますが、他のバージョンについてはわかりません)。 documentationsのすべてを実行します.Oscarのバージョンの指示には、< 1.5というわずかな違いがあります。

あなたはSolrのをインストールし、Solrのサーバー@ localhostの上の問い合わせを試すことができます実行したら:?8983/Solrの/ collection1 /スペルspellcheck.q = [検索照会をここに。角かっこなし] & spellcheck = true>。あなたのデータベースからの言葉である必要があります - 製品の説明または製品のタイトル。

アナライザが同じタイプである必要があるというエラーが表示されます。これを修正するには、./solr-4.7.2/example/solr/collection1/conf/solrconfig.xmlにあるsolrconfig.xmlファイルを編集します。 <str name="field">を検索し、非コメントの各インスタンスを<str name="field">text</str>に変更します。また、各インスタンスを<str name="field">title</str>に変更することもできますが、これはタイトルのみの単語に限定されます。 Solrサーバーを再起動します。これらの変更はアナライザーのエラーを回避し、Solrサーバーは結果の表示を開始しますが、Oscarサイトにまだフィードされません。

これを修正するには、同じsolrconfig.xmlファイルをもう一度調整する必要があります。 <requestHandler name="/select" class="solr.SearchHandler">を検索し、この要求ハンドラの下部には、次のコードを含める:

<arr name="last-components"> 
    <str>spellcheck</str> 
</arr> 

は、サーバーを再起動します。今オスカーのサイトにスペルの候補があります。他の人がこれが有用であることを願っています。私が言ったように - これは私がSolrを使う初めてのことです。誰かが何かを追加したり、OscarでSolrの機能を拡張したりすれば、それは素晴らしいことになります。

+0

私はSolrを検索に使用したときに役立ちました。単語を検索するように追加したいのですが、それはあなたがこれを意味すると示唆しています。クリックして検索結果を表示 –

関連する問題