1

私は Solr を使用して製品のインデックスを作成し、それらをいくつかのカテゴリに分類しています。各ドキュメントにはtaxon_names複数値フィールドがあり、カテゴリは人間が判読できる製品の文字列として保存されます。

ここで、Solr からすべてのカテゴリを取得し、データベースに再度アクセスすることなく、クリック可能なリンクをユーザーに表示したいと考えています。インデックス時に、MySQL データベースからすべてのカテゴリのパーマリンクを取得します。これは複数値フィールドとして保存されますtaxon_permalinks。製品へのリンクを生成するには、人間が読める形式のカテゴリとそのパーマリンクが必要です (そうしないと、人間が読めるプレーンなカテゴリの名前 (スペースに %20 など) を使用するだけで、ブラウザに醜い URL が表示されます)。 .

でファセット検索を行うとhttp://localhost:8982/solr/default/select?q=*%3A*&rows=0&wt=xml&facet=true&facet.field=taxon_names、人間が読める分類群とその数のリストが得られます。このリストに基づいて、データベースに再度アクセスする必要がないように、リンクを作成したいと考えています。

では、異なるカテゴリの Solr から一致するパーマリンクを取得することは可能ですか? たとえば、次のような XML を取得します。

<response>
<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">0</int>
</lst>
<result name="response" numFound="6580" start="0"/>
  <lst name="facet_counts">
  <lst name="facet_queries"/>
  <lst name="facet_fields">
  <lst name="taxon_names">
    <int name="Books">2831</int>
    <int name="Music">984</int>
      ...
  </lst>
</result>

taxon_names配列内には、パーマリンクの名前が必要です。

おそらく、構成 XML でカスタム フィールド タイプを定義することで可能です。しかし、これについては、Solr の経験が十分ではありません。

4

1 に答える 1