solrpyとpysolr

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にアップグレードすると、この問題は起こらなくなりました。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です