2010-12-03 17 views
0

私はSolrを使用して自動提案機能を構築しようとしています。インデックスは、*都市内の異なる場所が含まれていると、私はそれだけで現在の都市からと型location_の提案を返したいときに、ユーザーの種類は何か、今フィルタリング結果がsolr

id: unique id 
name: the complete name 
type: can be one of 'location_zone', 'location_subzone', 'location_city', 'outlet', 'landmark' ... 
city: city id 

ようになります。 SQLのWHERE city_id = 1 AND type="location_%"に類似したものです。

私はそれを行う1つの方法は、ファセットによるものだと思いますが、それは正しい方法ですか?すべてのドキュメントを検索して結果をフィルタリングしますか?それともmysqlが行うように条件を最初に適用しますか?

PS:私は新しいです。アプローチの間違いを指摘できるかどうかはわかります

答えて

2

Solrは、fq parameterを使用してフィルタリングを行います。あなたが探していることの線に沿って何かする必要があります:

&fq=city_id:1&fq=type:location_*&q=... 

This page非常によく、いつどのようにSolrの中でフィルタクエリを使用する方法示しています。

+0

リンクが壊れています。 – javamonkey79

+0

このhttps://cwiki.apache.org/confluence/display/solr/Common+Query+Parameters#CommonQueryParameters-Thefq(FilterQuery)Parameterを試してください – mrvol

関連する問題