我是sonr的新手,我必须编写一个条件查询。我只是想知道我可以编写具有多个条件的查询。
我有四列,查询条件如下: -
列:姓名,地址,城市,州
现在,如果有人按关键字“罗马尼亚”搜索,则结果应基于以下条件: -
这是一种优先搜索,其中预定义了要在搜索中使用的列的修道院。如果sonr提供任何这样的功能,我想使用它而不是编写任何模糊逻辑。
由于
答案 0 :(得分:1)
这将是搜索您正在谈论的所有列。使用val apps = Map(a -> "1", b -> "1", c -> "1", d -> "1")
告诉Solr您要查询的字段(使用edismax查询类型时):
qf
您还可以给出权重,以便名称列中的匹配显示高于地址列中的匹配,而后者的显示高于城市列中的匹配:
qf=name address city
您可能需要调整权重才能获得所需的搜索结果。
答案 1 :(得分:0)
你可以使用fq来搜索它:
fq=name:romania
或在q
+name:"romania" or +address:"romania" or +city:"romania" or +state:"romania"
使用OR就像编程一样,如果第一个查询为false,则移动到下一个查询,然后移动到下一个查询。