I mean, I'm not arguing against using a better a model for ES, but querying marc-in-json doesn't seem that complicated to me:
{
"query": {
"query_string": {
"query": "fields.100.a:Shakespeare"
}
}
}
I don't see how you'd do this in MIR. But I'm starting to have a hard time following what you're actually trying to do at this point.
-Ross.
On Sep 24, 2013, at 9:01 AM, dasos ili <[log in to unmask]> wrote:
> My initial problem though with the marc-in-json approach is the complexity of the JSON, i am looking to find a simpler model in order to also make my queries, in ES for example, simpler to implement.
>
> If anyone has any examples of how make use of this marc - in - json output in order to use ES, it would be much appreciated.
>
> thank you
>
>
>
>
> ________________________________
> Απο: Ross Singer <[log in to unmask]>
> Προς: [log in to unmask]
> Στάλθηκε: 3:47 μ.μ. Τρίτη, 24 Σεπτεμβρίου 2013
> Θέμα: Re: [CODE4LIB] New perl module MARC::File::MiJ -- marc-in-json for
>
>
> This serialization would actually be awful for the OP's use case, which (as
> I understand it) is to put it in MongoDB and Elasticsearch (which are
> exactly the use cases marc-in-json is designed for).
>
> In this array of arrays approach, where the tag name is just another value
> (as opposed to a key), you cannot take advantage of JsonPath, thereby
> eliminating almost any possible way of querying this data in those
> databases.
>
> This format is great for serializing/deserializing in and out of a MARC
> record structure (because it's incredibly fast and efficient). Not so much
> for actually using in JSON-native environment.
>
> marc-in-json was an intentional compromise so that it got the benefits that
> being optimized for json (as opposed to being optimized for MARC) brought.
>
> -Ross.
> On Sep 24, 2013 6:57 AM, "Marc Chantreux" <[log in to unmask]> wrote:
>
>> hello,
>>
>> On Mon, Jul 15, 2013 at 11:00:35AM -0400, Bill Dueber wrote:
>>> The marc-in-json<
>> http://dilettantes.code4lib.org/blog/2010/09/a-proposal-to-serialize-marc-in-json/
>>>
>>
>> My 2 cents:
>>
>> * don't specify a MARC-in-Whatever format: define the way you store the
>> MARC record in memory then just use dumpers from the YAML, JSON, and
>> other serialization systems.
>>
>> * marc-in-json itself (as described in the document) use dicts at every
>> level which leads to 2 issues:
>>
>> * implementations of transformations and querying are painfull
>> * explicit use of useless keys = more useless data (not as crappy as
>> XML but still useless.
>>
>> MARC::MIR http://search.cpan.org/~marcc/marc-mir-0.4/lib/MARC/MIR.pod
>> In-memory representation is much simpler to handle, whatever the
>> programming langage you use.
>>
>> As comparaison, the same record in MARC::MIR and MIJ.
>> HTH
>>
>> MIR:
>>
>> [ "01471cjm a2200349 a 4500"
>> , [ [ "001","5674874" ],
>> [ "005","20030305110405.0" ],
>> [ "007","sdubsmennmplu" ],
>> [ "008","930331s1963 nyuppn eng d" ]
>> [ "035", [ [ "9","(DLC) 93707283" ] ],
>> , [" "," "] ],
>> [ "906", [ [ [ "a","7" ] ,
>> [ "b","cbc" ],
>> [ "c","copycat" ],
>> [ "d","4" ],
>> [ "e","ncip" ],
>> [ "f","19" ],
>> [ "g","y-soundrec" ] ],
>> [ " "," "]] ]
>>
>> MIJ:
>>
>> { "leader":"01471cjm a2200349 a 4500",
>> "fields":
>> [ { "001":"5674874" },
>> { "005":"20030305110405.0" },
>> { "007":"sdubsmennmplu" },
>> { "008":"930331s1963 nyuppn eng d" },
>> { "035": { "subfields": [
>> { "9":"(DLC) 93707283" }
>> ],
>> "ind1":" ",
>> "ind2":" " } },
>> { "906":
>> { "subfields":
>> [ { "a":"7" },
>> { "b":"cbc" },
>> { "c":"copycat" },
>> { "d":"4" },
>> { "e":"ncip" },
>> { "f":"19" },
>> { "g":"y-soundrec" }
>> ], "ind1":" ", "ind2":" " }}}
>>
>> --
>> Marc Chantreux
>> Université de Strasbourg, Direction Informatique
>> 14 Rue René Descartes,
>> 67084 STRASBOURG CEDEX
>> ☎: 03.68.85.57.40
>> http://unistra.fr
>> "Don't believe everything you read on the Internet"
>> -- Abraham Lincoln
>>
|