簡體   English   中英

如何使用pysolr將JSON文件加載到solr?

[英]how to load a JSON file to solr using `pysolr`?

以下python代碼添加了一個文檔,但沒有json內容:

solr_instance = pysolr.Solr('http://192.168.45.153:8983/solr/test', timeout=60)
json_filename = '/path/to/file/test.json'
argws = {
    'commit': 'true',
    'extractOnly': False,
    'Content-Type': 'application/json',
}
with open(json_filename, 'rb') as f:
    solr_instance.extract(f, **argws)
    solr_instance.commit()

從命令行使用curl可以按預期工作:

$ curl 'http://192.168.45.153:8983/solr/test/update?commit=true' \
     --data-binary @/path/to/file/test.json \
     -H 'Content-Type: application/json'

該文件具有以下內容:

$ cat /cygdrive/w/mist/test.json
-->    [{"x": "a","y": "b"}]

我正在使用pysolr 3.6.0solr 6.5.0

extract()方法是指針對ExtractingRequestHandler發出的請求,該請求旨在用於從豐富的文檔(例如PDF等)中提取內容。

您可以使用常規.add方法將解碼后的JSON提交給Solr:

import json

solr.add(json.load(json_filename))

.. 應該管用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM