Solr检索一系列查询

问题描述 投票:0回答:2
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的数据。

如果我更改网址路径以检索前10条记录,例如:

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

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

有人可以帮忙吗?

python python-2.7 solr
2个回答
0
投票

我们可以使用类似下面的内容,但它会给出id = 1和10的记录而不是url_path ='enter code here'之间的数字


0
投票

如果您只在https://v3v10.vitechinc.com/solr/v_us_participant/select?indent=on&q=id:[1%20TO%2010]&wt=json的id字段中获取值为1和10的文档 - 字段的类型可能是字符串而不是整数。如果你有一个字符串字段,它会将标记与你的值进行比较,作为一个排序的字母顺序列表,其中1和10将紧接着出现。

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

© www.soinside.com 2019 - 2024. All rights reserved.