ApacheSolr:按多个数值筛选

ApacheSolr:按多个数值筛选,solr,Solr,这可能是一个非常简单的问题,但仍然找不到解决方案 假设我有字段id,并希望获得id为1,2,3,4,5的所有记录 我应该写哪个查询 我试过类似的方法 /select?q=id:1,2,3,4,5 而且它不起作用 谢谢如果您的id字段是int,那么这将不起作用 csv被视为字符串。您必须像这样使用或操作符q=id:1或id:2或id:3或id:4或id:5即使查询q=id:1或2或3或4或5也会被匹配,但被视为字符串如果id字段是int,那么这将不起作用 csv被视为字符串。您必须像这样使用或操

这可能是一个非常简单的问题,但仍然找不到解决方案 假设我有字段id,并希望获得id为1,2,3,4,5的所有记录

我应该写哪个查询

我试过类似的方法

/select?q=id:1,2,3,4,5
而且它不起作用


谢谢

如果您的
id
字段是
int
,那么这将不起作用


csv
被视为
字符串
。您必须像这样使用
操作符
q=id:1或id:2或id:3或id:4或id:5
即使查询
q=id:1或2或3或4或5
也会被匹配,但被视为
字符串
如果
id
字段是
int
,那么这将不起作用


csv
被视为
字符串
。您必须像这样使用
操作符
q=id:1或id:2或id:3或id:4或id:5
即使查询
q=id:1或2或3或4或5
也会被匹配,但被视为
字符串
您可以在任何可能的情况下使用过滤查询而不是普通查询

能够利用,与您的查询相比,这将是一个巨大的性能提升

fq=id:(1 OR 2 OR 3)

只要有可能,您可以使用过滤器查询而不是普通查询

能够利用,与您的查询相比,这将是一个巨大的性能提升

fq=id:(1 OR 2 OR 3)
试一试 /选择?q=id:(1 2 3 4 5)

或者
/选择?q=id:(“1”“2”“3”“4”“5”)
,以防您的id需要转义

并检查您的默认运算符(或| and) 问候

试试看 /选择?q=id:(1 2 3 4 5)

或者
/选择?q=id:(“1”“2”“3”“4”“5”)
,以防您的id需要转义

并检查您的默认运算符(或| and)
关于

所以查询变成/select?q=*:*&fq=id:(1或2)&wt=json&start=0&rows=50?现在我看到响应,但“docs”数组为空。我再次检查了索引(/select?q=*:*&wt=json),可以确认有id为1和2的记录UPD:对不起,fq=id:1正在工作!这是“string single”动态字段,在schema.xml中有以下定义“”实际上名称是“ss_entity_id”,但我在查询示例中使用了“id”。我还尝试了非动态字段,该字段在schema.xml中存储纯整数id:“”具有相同的结果似乎或运算符不起作用,但我在schema.xml中启用了它“”所以查询变成/select?q=*:*&fq=id:(1或2)&wt=json&start=0&rows=50?现在我看到响应,但“docs”数组为空。我再次检查了索引(/select?q=*:*&wt=json),可以确认有id为1和2的记录UPD:对不起,fq=id:1正在工作!这是“string single”动态字段,在schema.xml中有以下定义“”实际上名称是“ss_entity_id”,但我在查询示例中使用了“id”。我还尝试了非动态字段,该字段在schema.xml中存储纯整数id:“”具有相同的结果似乎或运算符不起作用,但我在schema.xml中启用了它“”