私は 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 の経験が十分ではありません。