Hi Just some more interesting news. Le 11/02/2011 20:01, Thomas Dukleth a écrit :
When briefly testing the BibLibre test configuration of SimpleServer Z39.50 server I have found same problem as BibLibre are reporting when using yaz-client. I have also noted some other issues.
1. BAD MARC ERROR.
When setting format to UNIMARC in yaz-client, the following error message is returned along with the record when displaying a record with the show command.
"[]Record type: Unimarc
bad MARC. Dumping as it is:"
When setting format to XML in yaz-client, no error message is returned when displaying a record with the show command.
"[]Record type: XML"
The issue seems to be consistent for all records in the result set.
YAZ is converting between ISO 2709 and MARCXML on the client side.
yaz-client does not report a "bad MARC" error when displaying UNIMARC MARCXML records returned from Zebra in ISO 2709 form.
Whatever the MARC error may be, it prevents YAZ from parsing the records properly in ISO 2709. Consequently, unlike yaz-client, my very well tested PHP YAZ based Z39.50 client obtains the result set but cannot even attempt to display the records because it relies upon YAZ for parsing them. This issue is still worked upon... Work in progress. I hope we can find a solution this week. We are diving into the SimpleServer code + yaz source code to find a way to get this right.
2. INVARIANT RESULT SET.
In the configuration which I tested, any query would return exactly the same 1011 record result set whether or not there would be any legitimate matches. This has been fixed. This was owed to the fact that the RegExp::Grammars installed was too old.
3. MISSING EXPLAIN RECORD.
Lack of an Explain record should not be fatal but might be helpful for obtaining more debugging information from YAZ.
I have added a call to a minimal zebra configuration file. And should be fixed now.
4. DEBUGGING.
I do not have time to try intensive tests myself.
First, fix the issue where the result set is an invariant 1011 records.
I suggest having yaz-client save the ISO 2709 records, then attempt to validate them with MARC::Lint keeping in mind that most errors would be from the MARC 21 checks in MARC::Lint.
I have not verified that MARCXML is working with SimpleServer using Solr/Lucene but I would be happy to test that if some SimpleServer target would be configured to return only MARCXML.
If all else fails, Index Data can help solve the problems for a very significant fee.
Hope that helps. -- Henri-Damien LAURENT