2

我正在尝试在我的搜索中的一些 AND 语句中插入 OR 语句,并且无法确定我需要使用的运算符。

我基本上想做的是陈述以下内容(提示伪)

query = "nematode" && (meta_M == "North" || meta_M == "South") && (meta_N == "Category value 1" || meta_N == "Category value 2")

我的尝试似乎一直在生成广泛的 OR 语句,它将我对线虫的初始查询(425 个结果)膨胀为 1,000 多个结果,而不是将其减少为原始结果的子集。

我已经咨询了http://docs.funnelback.com/12.0/query_operator.html但只需要最后的推动。

4

1 回答 1

2

Funnelback 的默认运算符是 and,指定 or(在底层查询语法中)的机制是将 or 选项包装在方括号中。我认为您最终想要的是以下查询。

nematode M:[North South] N:["Category value 1" "Category value 2"]

看起来您正在尝试通过将查询分解为 CGI 参数来做到这一点。做...

query=nematode&meta_M=%5BNorth%20South%5D&meta_N=%5B%22Category%20value%201%22%20%22Category%20value%202%22%5D%20 
# Note:
#   meta_M decodes to [North South]
#   meta_N decodes to ["Category value 1" "Category value 2"]

...满足您的需求,还是每个 meta_M 和 meta_N 值都必须在单独的 CGI 参数中?

于 2013-01-30T04:14:46.210 回答