Solr - 复杂查询

时间:2012-11-14 07:41:32

标签: solr

在我的应用程序中,我有几个搜索,如用户搜索,讨论搜索,博客搜索等。现在我还需要一个“全局搜索”,这将导致所有类型的搜索。我的问题是任何类型的搜索都有几个限制。

用户搜索:

  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 个答案:

答案 0 :(得分:0)

我的查询示例只是查询的片段。如果我提供更多细节,将超出讨论的范围。每个查询(user,discussiom,blog,..)都有几个字段,也有一些相等的字段。所有查询都有一个'fq'查询,这是问题所在。我通过documentType(1 =博客,2 =讨论,...)进行限制,并且我必须受到不同市场的限制。

如果我合并了两个查询,我就会丢失结果。

e.g。

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..))