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)

如何将这些查询合并到一个查询中?那可能吗?

4

1 回答 1

0

我的查询示例只是查询的片段。如果我提供更多细节,那将超出讨论的范围。每个查询(用户、讨论、博客、..)都有几个字段和一些相等的字段。所有查询都有一个“fq”查询,这是问题所在。我通过 documentType (1=blog, 2=discussion,..) 进行限制,而且我必须根据不同的市场进行限制。

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

例如

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 回答