0

ここで本当に明らかな何かが欠けていると思いますが、どういうわけかそれを取得できません.pyesを使用してElasticSearchエンドポイントを非常に簡単にクエリしているため、次のようなことを行うことで結果にアクセスできます

結果を出力.hits.hits._source.mets

期待どおり、Python dicts として表現された JSON の全体を取得します。

{u'ns0:mets_list': [{u'@xmlns:ns0': u' http://www.loc.gov/METS/ ', u'@xmlns:ns3': u' http://hul. harvard.edu/ois/xml/ns/fits/fits_output ', u'@xmlns:ns2': u'info:lc/xmlns/premis-v2', u'@xmlns:ns4': u' http:// www.w3.org/1999/xlink ', u'ns0:amdSec_list': [{u'ns0:techMD_list': [{u'ns0:mdWrap_list': [{u'@MDTYPE': u'PREMIS:OBJECT' ...

ただし、いくつかのレベルを深く掘り下げようとすると、問題が発生します。キー名の一部にコロンが含まれています。スラッシュと引用符のさまざまな組み合わせを使用して、これらを回避するために考えられるすべての巧妙な解決策を試しましたが、どういうわけか、うまく理解できないため、コロンで構文エラーが発生し続けます。

print results.hits.hits[0]._source.mets.ns0:mets_list.ns0:fileSec_list

私がここで見逃しているばかげたことを指摘してくれる人はいますか?残念ながら、このプロジェクトでは少し古いバージョンの pyes を使用する必要があるため、現在のドキュメントにあまり依存したくありませんでした。Python でユニコードのデコードが通常どのように機能するかについてある程度の知識はありますが、単純な解決策は明らかにされていません。 .

ありがとう!

4

2 に答える 2

0

おそらくあなたが望むオブジェクトはresults.hits.hits[0]._source.mets[u'ns0:mets_list']?

于 2014-07-22T18:33:30.653 に答える