Solr检索一系列查询

时间:2018-02-27 21:47:40

标签: python python-2.7 solr

url_path='https://v3v10.vitechinc.com/solr/v_us_participant/select?indent=on&q=*:*&fq=id:1&wt=json'
request = urllib2.Request(url_path)
response = urllib2.urlopen(request)
participant_data = response.read()
participant_data_metadata = json.loads(participant_data)['response']['docs']

for index in range(len(participant_data_metadata)):
    for key in participant_data_metadata[index]:
        print key ,':', (participant_data_metadata[index][key])

我有以下代码,使用solr查询获取id = 1的数据。

如果我将url路径更改为retreive前10条记录,如:

url_path =' https://v3v10.vitechinc.com/solr/v_us_participant/select?indent=on&q= & fq = id:[1到10]& wt = json'

应该检索id为1到10,~10行的记录,而不是它的抛出错误。 enter code here

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

我们可以使用类似下面的内容,但它会给出id = 1和10的记录,而不是两者之间的数字 url_path = 'https://v3v10.vitechinc.com/solr/v_us_participant/select?indent=on&q=id:[1%20TO%2010]&wt=json'

答案 1 :(得分:0)

如果您只在id的id字段中获取值为1和10的文档 - 字段的类型可能是字符串而不是整数。如果你有一个字符串字段,它会将标记与你的值进行比较,作为一个排序的字母顺序列表,其中1和10将紧接着出现。

将字段类型更改为基于int的字段,重新索引然后按照您的方式进行范围查询,并且您应该在id字段中获取1-10的文档。 (即10份文件)。