- System environment
- Install pysolr
- Imports
- Parameters
- Init the connection
- Add documents
- Search
- Traverse a cursor using its iterator
- Find similar documents
- Delete
- References
- Solr 8.8.2
pip install pysolr
import os
import pysolr
SOLR_URL = os.environ.get("SOLR_URL")
solr = pysolr.Solr(SOLR_URL, always_commit=True)
solr.add([
{
"id": "doc_1",
"title": "A test document",
},
{
"id": "doc_2",
"title": "The Banana: Tasty or Dangerous?",
"_doc": [
{ "id": "child_doc_1", "title": "peel" },
{ "id": "child_doc_2", "title": "seed" },
]
},
])
Simple query:
results = solr.search('title:Banana')
More advanced query:
results = solr.search('title:Banana', **{
'hl': 'true',
'hl.fragsize': 10,
})
print("Saw {0} result(s).".format(len(results)))
for result in results:
print("The title is '{0}'.".format(result['title']))
for doc in solr.search('*:*',fl='id',sort='id ASC',cursorMark='*'):
print(doc['id'])
similar = solr.more_like_this(q='id:doc_2', mltfl='text')
similar
solr.delete(id='doc_1')
solr.delete(id=['doc_1', 'doc_2'])
solr.delete(q='*:*')