残念ながら、terms コンポーネントを発行しているフィールド以外のフィールドに基づくフィルタリングをサポートしていないため、terms コンポーネントでこれを行うことはできません。
この問題の最も簡単な解決策は、標準の requesthandler (つまり<requestHandler name="standard" class="solr.SearchHandler>
) をバウンディング ボックス フィルターと共に使用することです。
fq={!bbox}&sfield=store&pt=45.15,-93.85&d=5
用語をリストするフィールドのファセット (フィールド名が「names」であると仮定):
facet=true&facet.field=names&f.names.facet.prefix=$yourprefix$
次のようなクエリになります。
/select?q=*:*&fq={!bbox}&sfield=store&pt=45.15,-93.85&d=5&facet=true&facet.field=names&f.names.facet.prefix=$yourprefix$
次のような結果が得られます。
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="name">
<int name="maxtor">1</int>
<int name="memory">1</int>
<int name="mobile">1</int>
<int name="mp500">1</int>
<int name="mb">0</int>
<int name="mini">0</int>
</lst>
</lst>
</lst>
(ファセット セクション内)