Libre10のリリースの用意をしていて、debianだと大体の依存ソフトが
パッケージ化されているんだけど、solrpyだけがどうしてもPyPIに頼らざるを得ないということで、パッケージ化されているpysolrに乗り換えてみました。
ぶっちゃけそれほどの違いはなさそうだし、移行も簡単だったんですが、
multiValuedのelementを挿入する際にpysolrだとelementはstringである必要がありますといったエラーが出てうまくいかない
[python]
solrcon=pysolr.Solr(http://~~~:8983)
solrcon.add([{
‘single’ : ‘single-text’
‘multiValued’ : [‘multi-text1′,’multi-text2’]
}])
[/python]
こういう風に設定するはずなんだがうまくいかない。
結論から言うと、pysolrが内部で使っているlxmlのバージョンが古いとこのエラーが出るらしい。
ということでlxmlのバージョンを3.2.1にアップグレードすると、この問題は起こらなくなりました。