在我的应用程序中,我有几个搜索,如用户搜索,讨论搜索,博客搜索等。现在我还需要一个“全局搜索”,这将导致所有类型的搜索。我的问题是任何类型的搜索都有几个限制。
用户搜索:
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)
如何在一个查询中合并这些查询?这可能吗?
答案 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..))