Solr检索一系列查询

2024-09-30 12:28:41 发布

您现在位置:Python中文网/ 问答频道 /正文

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路径以检索前10条记录,如:

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

它应该检索ID在1到10行之间的记录,而不是它的抛出错误enter code here

有人能帮忙吗


Tags: pathkeyhttpscomidjsonurldata
2条回答

如果在id:[1 TO 10]的id字段中只获取值为1和10的文档,那么该字段的类型可能是字符串而不是整数。如果您有一个字符串字段,它会将标记与您的值作为一个按字母顺序排序的列表进行比较,其中1和10将紧随其后

将字段类型更改为基于int的字段,重新编制索引,然后像之前一样进行范围查询,您应该得到id字段中带有1-10的文档(i、 e.10份文件)

我们可以使用下面这样的方法,但它将给出id=1和10的记录,而不是介于两者之间的数字 url_路径=“https://v3v10.vitechinc.com/solr/v_us_participant/select?indent=on&q=id:[1%20TO%2010]&wt=json

相关问题 更多 >

    热门问题