0

私のアプリケーションでは、ユーザー検索、ディスカッション検索、ブログ検索など、いくつかの検索があります。ここで、すべてのタイプの検索を行う「グローバル検索」も必要です。私の問題は、あらゆる種類の検索にいくつかの制限があることです。

ユーザー検索:

  q=userLastName:*searchString*^9 userFirstName:*searchString*^10&fq=documentType:4 AND marketId:(281807 1950)

ディスカッション検索:

q=userLastNameLowerBoost:*searchString*^6 userFirstNameLowerBoost:*searchString*^5 title:*searchString*&fq=(documentType:2 AND boardType:2 AND country:3028) OR (documentType:2 AND boardType:1)

これらのクエリを 1 つのクエリにマージするにはどうすればよいですか? それは可能ですか?

4

1 に答える 1

0

私のクエリの例は、クエリの抜粋です。私がより多くの詳細を提供するならば、それは議論の範囲を超えます。すべてのクエリ(user、discussiom、blog、..)には、いくつかのフィールドといくつかの等しいフィールドがあります。すべてのクエリには、問題である「fq」クエリがあります。documentType(1 =ブログ、2 =ディスカッション、..)で制限します。また、さまざまな市場で制限する必要があります。

両方のクエリをマージすると、結果が失われます。

例えば

user search result = 60 results
     discussion search results = 10 results
     merge search results = 68 result
     --> 2 lost

fqクエリ:

(documentType:4 AND marketId:(1956 1960 ..and so on..)) OR (documentType:3 AND marketId:(1956 ..and so son..))
于 2012-11-14T08:43:59.297 に答える