forked from indexdata/pazpar2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
1212 lines (773 loc) · 38.7 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
--- 1.12.11 2017/03/27
Fix segfault when using filters PAZ-1045
Use same ICU location as YAZ on Windows
Fix include sys/resource.h does not exist on Windows PAZ-1044
--- 1.12.10 2017/03/24
Update tmarc.xsl: Improve handling of holdings from MARC records
--- 1.12.9 2016/12/29
Command info also reports NMEM status
--- 1.12.8 2016/12/22
Log errors, when redis/memcached fails PAZ-1043
--- 1.12.7 2016/12/22
Record file log: use only fflush for non-NULL file ptr
Use YAZ' wrbuf_malloc_info rather than using mallinfo
Fix double free https://github.com/indexdata/pazpar2/issues/12
--- 1.12.6 2016/09/13
Continue fetching of records even in case of ingest failures PAZ-1042
Fixes and updates to documentation
--- 1.12.5 2015/10/19
Usage limit PAZ-1038
Guard against running out of sockets/file-descriptors. The limit may
be set with <socket max="number"/> in main configuration. If omitted,
the system default is used (getrlimit RLIMIT_NOFILE).
--- 1.12.4 2015/09/15
log msg cleanup PAZ-1037
Fix leak in record parsing
Occurred when empty data was produced and metadata did not have the
attribute "empty". The empty attribute was introduced in PAZ-858
Updates to pz:authentication documentation
Refer to full Apache product
Document info command. This command has been around since first release
in 2007. Command info includes versions, statistics, etc.
The undocumented server-status comand is gone and completely replaced by
command info which returns general information of the pazpar2 instance.
Minor updates to pazpar2_play manual
--- 1.12.3 2015/09/03
Make pazpar2_play part of Deb/RPM PAZ-1031
Allow predictable sessions (Option -R - for pazpar2) PAZ-1030
Fix pazpar2 recording broken PAZ-1029
At session destroy, log facet IDs in use
log level for http is http (not HTTP)
Fix 0 ptr reference for POST and no Content-Type PAZ-1028
Log levels http+iochan for tests. Wait longer time in valgrind mode.
--- 1.12.2 2015/08/31
Facility disable/logging of POSTed content PAZ-1027
Log level "post" controls whether POSTed content is logged. This
is enabled by default. To disable, use -v -post on the command line.
Explain the semantics of using option -d twice in pazpar2 man page.
Update ajaxdev.xml and make it part of the dist PAZ-1025
--- 1.12.1 2015/08/26
Fix pazpar2 crash when using pz:extendrecs PAZ-1024
--- 1.12.0 2015/08/17
Fix PAZPAR2_PPMUTEX_H incorrectly defined PAZ-1023
Fix windows: crash in xmlDocFormatDump PAZ-1021
Problem is the passed FILE*. We can not pass FILE pointers between
DLLs. So we just avoid dumping the XML config during start on Windows.
Use YAZ comstack features for IPv6 and non-blocking getaddrinfo. PAZ-927
Upgrade to debian DH version 9 PAZ-1020
Fix bytarget list not cleared for new search PAZ-1019
--- 1.11.3 2015/07/28
Do not re-search if facetlimit scan fails to find value PAZ-1013
Optimize single-target sortmap - keep record order PAZ-1917
position rec-icd with leading zeros PAZ-1018
Fix Bad HTTP request causes a crash PAZ-1012
--- 1.11.2 2015/07/21
Fix Can not make doc on mochi PAZ-1015
--- 1.11.1 2015/07/21
Fix PAZ-1009: Do not create local facets when using facetmap:split
--- 1.11.0 2015/07/06
Facet ID term map PAZ-1008
New setting pz:facetmap:split:name (refer to documentation)
--- 1.10.0 2015/06/16
Sort by retrieval PAZ-1006
Allows sorting by the order that records were retrieved from databases.
Response from bytarget command includes native query PAZ-1005
Use lx2.loc.gov:210/LCDB_MARC8 instead of z3950.loc.gov:7090/voyager PAZ-1003
--- 1.9.0 2015/05/23
New metadata facility "icurule" for normalizing metadata text PAZ-1002
This allows ICU normalization of text before in-cluster merging takes
place.
Heuristics to deal with Primo s/e/page PAZ-1001
Fix test_limit_limitmap fails PAZ-1000
--- 1.8.8 2015/04/20
Limitmap ccl: deal with quotes and backslash PAZ-999
Handle date range from a limit parameter PAZ-997
The CCL term is not quoted unless it includes blanks. This will ensure
that r=r is handled correctly. This changes behavior a bit. If term
should not be converted to @and, then instead of r=r one should use
r=o or r=3 instead.
Construct md-pages-number form page/endpage PAZ-998
--- 1.8.7 2015/03/27
solr-pz2.xsl: extend Solr transformation to emit license_name field PAZ-996
cf.xsl: forwards flat affiliation structure PAZ-992
parpar2: log YAZ version upon start PAZ-993
Update and fix documentation for preferred targets
Fix spelling of present_chunk in documentation
--- 1.8.6 2015/02/10
Increase facet limit PAZ-990
No longer a limit on facets.
Pazpar2-js no longer requires Apache2 PAZ-989
Package pazpar2-apache2 sets up everything WRT apache and only
package which requires it. pazpar2-apache depends on pazpar2-js.
--- 1.8.5 2014/12/17
Larger string buffer for forward address PAZ-987
Fixes buffer overflow that could occur if forward address is IPV6.
Updates to Windows NMAKE makefile for Visual Studio 2013.
--- 1.8.4 2014/11/26
Use YAZ backtrace facility PAZ-983. In case of crashes YAZ log may
include more details about the fault. Better install gdb and the
debug version of pazpar2 (pazpar2-dbg on Debian/Ubuntu).
Per target timeout PAZ-981
New setting pz:timeout which overrides z3950_operation timeout
in service.
--- 1.8.3 2014/11/20
Re-introduce journal-subpart PAZ-980
Both citation and journal-subpart have same value.
--- 1.8.2 2014/10/30
Add Ubuntu utopic 14.04 and Ubuntu saucy 13.10 to the list of packages
built.
Remove from js/pz2.js the code that translates just two diagnostic
codes (1 and 2) into human-readable messages. This is no longer
necessary at all, as PazPar2 has been returning the message as well as
the code in its responses since December 2012. Fixes PAZ-978.
primo xsl produces citation rather than journal-subpart PAZ-972
(fix in 1.8.1 was incorrect)
Fix missing .url files PAZ-977
Add missing .url+.cfg and add proper check for it.
--- 1.8.1 2014/10/10
Turbomarc needs number check for date 903 map PAZ-973
primo-pz2.xsl creates citation rather than journal-subpart PAZ-972
pz2.js: on successful search, issue a "show" command only if a show
callback function has been installed. Fixes part of PAZ-975
--- 1.8.0 2014/09/30
New command=stop which stops further search&retrieval for active
databases.
CF/primo XSL generates {volume,issue,pages}-number that are defined
in default Pazpar2 service definition. PAZ-968 PAZ-970
--- 1.7.5 2014/09/11
Various fixes for threaded operation PAZ-960 thru PAZ-966
Dump main configuration file during start of Pazpar2 PAZ-957
--- 1.7.4 2014/09/02
Log ingest failures and record failures:
Clean up logging PAZ-942
Use session lead in more places. Log hits/records/filtered for each
target when fetching is complete. Log hit count when a search
(response) is received. Remove some less useful log messages.
Fix warning about about missing (internal) stylesheet PAZ-956
Report number of filtered records in bytarget PAZ-954
Cache XML documents as they appear after normalization. The key
for the cache is database+record offset. Cache is removed if query
is modified for search. This speeds up re-establishing a result set
for databases where new query is same previous query.
--- 1.7.3 2014/08/22
poll: add assert for number of FDs; abort on poll failure
--- 1.7.2 2014/08/18
Fix hang for 2nd use of target with unresolved DNS PAZ-949
--- 1.7.1 2014/08/14
Use poll rather than select for main event loop to overcome limit of
1024 file descriptors PAZ-947
Override setting with same name (do not append) PAZ-945
--- 1.7.0 2014/06/27
Separate package: pazpar2-xsl PAZ-932
--- 1.6.44 2014/06/27
Update OPAC stylesheets for availabilityDate PAZ-943
Fix too funny startrecs description
Fix broken ~ match if filter contains = PAZ-941
--- 1.6.43 2014/06/12
Add pz:redis option for ZOOM caching using redis. This is an alternative
to memcached. Requires YAZ 5.2.0 to work.
--- 1.6.42 2014/05/06
Re-ingest native facets PAZ-934
Fix medium override for solr-pz2.xsl.
--- 1.6.41 2014/04/23
Fix URL with leading http:// not working PAZ-933
Build packages for Ubuntu Trusty Tahr 14.04 LTS
cf.xsl: handle medium override AND md field
--- 1.6.40 2014/04/10
sortmap relevance always uses increasing=1. PAZ-930
solr-pz2.xsl: ensure medium is also applied if Solr records do not
have it. PAZ-929
Fix leak in getaddrinfo usage for HTTP listener. Not a big deal because
this code is only executed once.
Fix typos in sortmap documentation.
Doc: fix misplaced variablelist tag.
--- 1.6.39 2014/02/19
Doc: update WRT ICU which is configured for YAZ; not Pazpar2.
It's been like that since version 1.1.1 from August 2009.
Add support for result-set caching via memcached. See description of
pz:memcached. Require that Pazpar2 is using YAZ 5.0.12 or later.
Add support for a <metadata> container tag. Patch from Sven Porst.
Add support for XInclude in main configuration file. Patch from Sven Porst.
Add client_{lock,unlock} before call to non_block_events in
connection_continue. Problem is that if non_block_events fire records,
then we will not unlock client at all. And as a result, a dead-lock
occurs.
--- 1.6.38 2014/01/07
Avoid removing slash and other characters for generic metadata that
looks like a URL (contains ://). PAZ-915
pz2.js: Only use XDR when doing CORS. Favor XHR in all other circumstances.
Cluster merge fixes. PAZ-901
Set client state to "working" when waiting for DNS resolver. PAZ-907
Log when session terminates. PAZ-905
Fix LSB/HS conformance for /etc/init.d/pazpar2 PAZ-904
Debian: add support for /etc/init.d/pazpar2 status
--- 1.6.37 2013/11/18
Fix 'Record Missing' for command=show PAZ-903
Preserve order of records within cluster PAZ-902
testing: use yaz-ztest -V if possible and use YAZ in sibling directory
if present.
Allow clustered records to be ingested during retrieval. PAZ-900
Fix void function error which cannot return a value.
--- 1.6.36 2013/11/11
SRU pz:authentication="a/b" may end up as x-username=a%2Fb PAZ-899
Upgrade to debhelper version 7 PAZ-898
Package with libyaz5 PAZ-897
Better error message for CCL parse errors PAZ-887
--- 1.6.35 2013/09/23
New target setting: pz:authentication_mode. PAZ-896
pazpar2 PRM: pazpar2 runs as user nobody. PAZ-893
Strip #-suffix for ZOOM URLs. PAZ-892
--- 1.6.34 2013/08/30
Fix issue with hanging show/bytarget. Could happen if new search was
fired with filter before show from previous show completed.
Add 'date' handling for solr-pz2.xsl.
--- 1.6.33 2013/08/13
pz:authentication may carry user group password. If pz:authentication
has at least one blank in it, that forces Pazpar2 to use idPass Z39.50
authentication. Two forms are allowed
user password
user group password
If no blanks are present, open authentication is in use (as before).
Fix {prev,next}recid elements that are returned by record
command. These were incorrect in versions 1.6.23 thru 1.6.32.
--- 1.6.32 2013/06/14
Experimental support for snippets. If argument snippets=1 is given
for command record or show, the text will include <match>-tags for
those areas that match.
Fix memory leak WRT client structures (incorrect inc ref count).
Log when a HTTP response is serialized and the time elapsed.
New command, service, which returns current service XML in use for
session.
--- 1.6.31 2013/05/24
Local limit for fields of type "generic" (i.e. text fields) are
now normalized by mergekey rule before comparison takes place.
Before, no normalization took place and comparison was, thus, exact.
New facility: dynamic rank, which allows ranking to be changed
for an existing result set. The rank can be set for search or
show. This overrides the rank for metadata elements (which fields
to rank and weight).
New facility: dynamic mergekey, which allows mergekey to be changed
for an existing result set. The mergekey can be set for search or
show.
HTTP server: host=@ listens on IPV6 and IPV4 if possible.
Also, allow ports to be given as names (not just integers).
Fix @-notation on systems that don't support IPV6 sockets.
--- 1.6.30 2013/04/26
Add MasterKey Connect configuration. Refer to section "non-standard
databases" for more information.
Allow timeformat for log to be specified with option -m (as Metaproxy
and YAZ GFS).
New Debian package pazpar2-dbg.
Fix NULL ptr reference of se->relevance. If a new search is initiated
and a CCL query fails to parse, Pazpar2 could crash.
Fix problem with host/port mangling in Pazpar2 HTTP server. Problem
existed in 1.6.29 only.
--- 1.6.29 2013/04/05
IPV6 updates. Allow IPv6 addresses for database hosts and IPv6 address
for HTTP server. By default the HTTP server uses IPv4 only, but that can be
changed by setting "host" attribute for the "listen" element.
Change semantics of pz:extendrecs. Allow for repeated fetches .
pz:extendrecs is now the number of extra records to fetch (was total
count before).
--- 1.6.28 2013/03/21
Fix hang or memory violation if show occurred before a search. (not that
it makes much sense to perform a show before a search).
--- 1.6.27 2013/03/08
pz2.js: Element_parseChildNodes concatenates all Text/CDATA nodes, instead
of the first child.
--- 1.6.26 2013/03/08
New pz:metadata attribute, empty="empty-value" for Pazpar2's
internal representation. With this attribute, Pazpar2 treats an empty
pz:metadata type as having the value for "empty" - if empty.
New setting, pz:extendrecs, which triggers extended fetch of records
for a database beyond pz:maxrecs for a show command.
Fix warning that was falsely issued for "missing limitmap".
Log message for Pazpar2 start/stop changed. Now using same style as
Metaproxy, i.e. Pazpar2 start SHA1 / Pazpar2 stop .
--- 1.6.25 2013/02/07
Fix hang of 2nd command=show with esn/syntax given.
--- 1.6.24 2013/01/18
New merge attribute type: 'first', which takes all metadata fields
from first target that returns the particular field.
--- 1.6.23 2013/01/02
Extend info command with hostname and YAZ SHA1
Indent results for both command stat and info.
Allow limit on merged content. The new configuration metadata
element, limitcluster, configures that a metadata element (name) be used
as limit name for search. Applies to the whole service (i.e. all targets),
unlike pz:limitmap which is configured per-target (database).
New feature: limitmap local:* matches against all metadata fields.
Allow repeated list in limitmap spec . Separated by comma. For
example: value="local:title,rpn:@attr 1=4".
New element <message> in bytarget response. Holds diagnostic message
of code (say 'Unsupported Use Attribute' for Bib-1 114).
Improved logging for record ingestion failures.
Avoid using struct icu_chain in non-YAZ_HAVE_ICU mode. In the rare case,
when YAZ is compiled without ICU support.
--- 1.6.22 2012/10/11
Requires YAZ-4.2.40 to support native Solr support.
Fix and improve logic handling whether or not to re-do search on sort
order changes. A sort order with change in ascending/descending only
would not trigger a new search, which is required for targets with
native sorting capabilities. Each client is now checked if instructions
(sortmap) exist for native sorting and only a client that does require
it is re-searched. Other clients are just re-ingesting the records,
they already have. The resultset is now cleared if any re-searching
is done.
Connection sharing between session has broken since version 1.6.8 with
introduction of logic that would minimize searching if pazpar2 could
detect this, based on same query and limits and partly sort order.
This could lead to segementation violations.
Added a chapter in the manual about relevance ranking.
--- 1.6.21 2012/09/24
Rank tweak: follow=number will increase mult by number if two terms
occur next to each other; number-1 if they are one term apart , .. 0
if they are one number apart (all in order). Default is 0 (following
terms has no effect).
Rank tweak: lead=k will divide mult by 1 + log2(1+k*l) where k is
value given by lead and l is length from beginning of field where
term occurs (l=0 for first term, l=1 for second term, ..). Default
value of k is 0.0.
Rank tweak: length=strategy. length="linear" if mult is to be divided
by length (existing, default behavior), length="log" if mult is to be
divided by log2(1+length), length="none" if mult is not to be affected
by length.
--- 1.6.20 2012/09/21
Rank algorithm details may be printed as part of show response in
element <relevance_info>. This is only printed if <rank debug="yes"/>
is used in service.
Records as returned by show/record command have a minimal indentation
which makes things human-readable.
New configuration of default sorting criteria (sort-default) in
service definition. If no criteria is defined, it will be as before
'relevance'.
Search command now supports sort parameter just as the show command.
If no parameter is given, it will use the service sort-default value.
--- 1.6.19 2012/09/18
Rank algorithm skips strings that get normalized to empty string.
For example, & and ! could map to the empty string. The weight for
those terms is now 0 (as if they were not part of the query).
Rank algorithm does not use CCL from limitmap; only from the query
parameter (user query).
Obey -w dir.
--- 1.6.18 2012/09/17
Rank algorithm configurable by 'rank' element inside service. So far
only, attribute 'cluster' is recognized. If cluster="yes", multiple
records inside a cluster boosts higher than single records. This
is default behavior and existing behavior. cluster="no" takes the
average score of each record in a cluster.
--- 1.6.17 2012/09/05
Fix bad re-use of connections (connections with changing proxy should not
be re-used).
--- 1.6.16 2012/08/22
Fix a bug introduced in 1.6.15 around the position sorting. It resetted the
resultset and sorting when the sort order is position. However this will be done on
every client poll, which will make pazpar2 continue to reset and fetch.
It should only be done on FIRST request where the sort order changes.
Fix an issue on suggestion option: Also disable suggestions on empty string.
Clean up in turbomarc stylesheet.
Remove the hardcoded size of termlists.
--- 1.6.15 2012/06/27
New facility: ccldirective may be given in service definition. Allows
CCL parsing to be customized a bit, such as defining names of operators
and, or, not.
New facility: raw record by checksum, rather than offset. The record
command optionally takes checksum which identifies a certain record from
a database.
New facility: per field ranking. Rank may be given as M [F N] where
M is default rank and N is rank for CCL terms from field F.
--- 1.6.14 2012/06/04
Fix for IE7/8 in pz.js
Applied patch from Giannis Kosmas on keepAlive, which also adds keepAlive to init response.
Lower log level in some places.
Remove some invalid test results.
--- 1.6.13 2012/05/23
Introducing a version=2 parameter for show, termlist and bytarget commands.
This enables pazpar2 to return approximation on hit and count count when
doing record filtering using the limit parameter on search and a
limitmap with a value of "local:"
Setting pz:xslt may embed local XSLT as an alternative to referring
to filenames.
Value is not CDATA but XML nodes embedded, so escaping is not necessary
but a root element *must* be present. For example:
<settings target="target="z3950.indexdata.com/marc">
<set name="pz:xslt">
<xsl:stylesheet
version="1.0"
..
</xsl:stylesheet>
</set>
</settings>
Metadata field rank may given by XML internal document (pz:xslt
result). If rank is not given, the rank from service description is
used - as before.
Metadata field can now configure a default limitmap and facetmap.
Setting limitmap to "local:" would work for all kind of targets, but would
probably not be the optimal solution. But at least better than the default
behavior of pazpar2 where no filtering is done.
A service definition can now also contain <set/> that defines service-wide
settings. These will override server-wide sets and will be overridden by
settings.
New setting, pz:present_chunk, that specifies number of records to fetch
at a time. Zero will disable chunkation; will fetch max_records at once.
--- 1.6.12 2012/03/14
Revert the format change in termlist response, that could break
some clients / UIs since they were expecting an (empty) element
if no facet values was found.
--- 1.6.11 2012/03/07
Revert the behavior of returning errors when unable to block
on termlist, bytarget and search, when unable to block due to
other block. The client will now receive a regular response,
but it will be logged in the server. A parameter (report) is
added to change behavior to return error response or WARNING
status message. Consider this "API" as private, as it is mostly
untested and could be changed in future releases.
Fix spell error in pz2.js fix in 1.6.10.
New Marc2TurboMarc.xsl (contribution from Sven Porst).
Can solve the missing marc21.xsl updates in some cases.
tmarc.xsl: Simplify the 6xx to subject-long and fix 1-based
substring (contribution from Sven Porst)
marc21.xsl: fix 1-based substring call
tmarc.xsl and marc21.xsl: use 856$a as last option for electronic-text.
Add test_termlist_block to test suite
--- 1.6.10 2012/02/23
Fix SEGV for invalid PQFs and SRU/Solr targets
Also refactor a bit the code that converts from PQF to SRU/Solr queries.
Fix pz2.js: "null object" due to change in in bytarget result XML.
Fixes in tmarc.xsl: Subject-long shorten for extra commas only.
Added this normalization to the other subject-long fields (d6xx),
where it was missing.
Fixes in marc21.xsl: Updated with most of the new tmarc.xsl.
Still differences around medium and holdings. marc21.xsl is no
longer actively used by Index Data, and should be considered unsupported.
Use tmarc.xsl instead.
--- 1.6.9 2012/01/19
Fix SEGV that could occur for failed connections.
--- 1.6.8 2012/01/17
Fix bug for command sort that could return no results for active clients
(from previous search). This bug was present in 1.6.6-1.6.7.
Fix bug in results that could include results that should have been
filtered out. This bug was present in 1.6.6-1.6.7.
--- 1.6.7 2011/12/23
Fix bug introduced in 1.6.6 where a connection re-use could stall
incoming requests.
Local filtering may now specify a local metadata field, e.g.
pz:limitmap:somefield[t]=local:otherfield
--- 1.6.6 2011/11/25
For search, when limit and or filtering is in place and search
is identical to previous search, the result set is re-used and the
target is not searched.
Limits may perform local filtering as well, by using "local:"
for a limitmap.
--- 1.6.5 2011/11/01
Updated bytarget command to contain a suggestions element with misspelled
words and suggestions to these. pz2.js has been updated to deliver this
onwards as well. Only target that currently delivers this is the Solr
client in YAZ 4.2.18.
--- 1.6.4 2011/10/28
New service definition element, xslt, that allows an embedded stylesheet
to be defined. This can be referred to from pz:xslt as an alternative to
external files.
New pz:sortmap:field setting for specifying hints on how to make
a target natively sort on a field. This is used for command=show in
conjunction with sort.
New pz:url setting for specifying the actual URL for a target. When
this is used the target ID is not used as URL anymore and the target ID
may be almost any string (not including []).
command=termlist without name parameter returns all termlists/facets.
Previously if name parameter was omitted, only "subject" was returned.
--- 1.6.3 2011/09/22
Make termlist sorting stable. Terms with same frequency are now sorted by
their display name. This makes a pretty display and improves our
regression test because qsort is not a stable sort.
New sort parameter value 'position'. The 'position' sorts merged records
by their original position from the remote target. This is primarily useful
for debugging and may be used for targets that already perform some kind
of relevance ranking. Note that sort by default is decreasing; so to get
records in their original order sort=position:1 must be used.
--- 1.6.2 2011/09/15
tmarc.xsl: yet another 773$g fix. Was broken in 1.6.1 as well.
Facility to change working directory for pazpar2 daemon. Option -wdir
sets working directory to dir. This facility is useful if core dumps
must be saved. In this case, the current working directory must be
writable by the running user, such as "nobody".
--- 1.6.1 2011/09/14
New configuration element <icu_chain> for <server>/<service> which
allows a named ICU rule (chain) to be defined. The names relevance,
sort, mergekey and facet are used for those operations. The definition
<icu_chain id="sort" locale="en"> .. </icu_chain>
is identical to
<sort> <icu_chain locale="en> ... </icu_chain> </sort>
And so on.. for relevance, mergekey and facet as well. The latter
style is deprecated. The facet terms are normalized by the facet
rule by default. This may be changed on a metadata field basis by
defining the new attribute 'facetrule' for the metadata element.
For example:
<icu_chain id="myrule" locale="en"> ... </icu_chain>
<metadata name="author" termlist="yes" facetrule="myrule"/>
Preserve rorder for merged metadata. Fixes issue as reported by Sven
Porst: http://lists.indexdata.dk/pipermail/yazlist/2011-July/003230.html
tmarc.xsl: set journal-subpart to 773$ only.
--- 1.6.0 2011/09/12
Modify the behavior for the limit parameter (first defined in 1.5.7).
Mapping of limit searches are now defined by the new configuration item
pz:limitmap. Fix a dead-lock problem with the limit parameter.
Extend tmarc.xsl to extract 773$g data (OpenURL).
--- 1.5.7 2011/08/19
ICU default maps remove backquote (`).
Command 'search' takes limit parameter (optional). The limit parameter
allows a search to be limited to one or more facets and the corresponding
values. This is for server side filtering.
Configure tweak: Use -lm for log(3) if needed
--- 1.5.6 2011/04/15
Fix a problem with skiparticle sortkey that could be completely
ignored (and reduced to "").
Fix dependency problem in pazpar2 RPM package (did not require
libyaz4 as it should).
--- 1.5.5 2011/03/28
Fix memory leak that occurred for command=termlist&name=xtargets .
Pazpar2 may save HTTP requests. Enabled by option -R.
--- 1.5.4 2011/03/08
Experimental support for DTIC DADS target. New dads-pz2.xsl.
Support for query_syntax (overrides the default for SRU | Z39.50)
Support for extraArgs (ZOOM "extraArgs" option) for targets
New commands: status-server and status-session
--- 1.5.3 2011/02/18
Fix for threaded runs: Clients now have a copy of the database URL,
which can used after the database has been released from the client.
This makes the logging in the connection idle timeout of the client nicer (no NOURL) and should be thread-safe.
tmarc.xsl: Add journal-title-abbrev and full text.
cf.xsl: new fields: isbn, issn, journaltitle, volume, issue
Fix for cmd=record before search.
Session Logging clean up.
Fix wrong termlist factor when maxrecs is different from 100.
--- 1.5.2 2011/01/18
Fix missing pz:termlist_term_factor in settings.c messed up pz:preferred.
Term factor is default enabled but can be disabled by
pz:termlist_term_factor=0
--- 1.5.1 2011/01/06
Add scaling of facet count. Currently always enabled, needs fixing.
Allow user-defined info for target suffix. This has no meaning in
Pazpar2 except to distinguish targets from each other. The suffix
data begins with #. For example z3950.indexdata.com/gils#Mydata
Added exact-match recordfilter; format name=value
--- 1.5.0 2010/10/05
Apache Solr support. Pazpar2 may operate as web service client for Solr.
--- 1.4.4 2010/08/17
Fix for show command and block=1 (dead lock). Bug was introduced in
1.4.0.
--- 1.4.3 2010/07/02
New RPM packages: pazpar2, pazpar2-js, pazpar2-doc. These have been
tested on CentOS 5.5 only.
--- 1.4.2 2010/06/18
Fix problem with result sets being removed from a client session
if the connection for it was re-used by another session. Bug #3489.
New iPhone UI for Pazpar2 (www/iphone).
--- 1.4.1 2010/05/21
Fixes for threaded operation.
New stylesheets for TurboMARC: tmarc.xsl and opac_turbomarc.xsl.
New example services in etc/services in source. In the Debian packages
these are located in /etc/pazpar2/services-available
Threaded mode operational on Windows. Requires Windows 7 or Windows
Server 2008.
Default value of setting pz:max_connections is 0 which means that there
is no limit on the number of connections.
--- 1.4.0 2010/03/29
Pazpar2 may operate in threaded mode. Enabled by element threads in
the configuration. See pazpar2_conf for details.
New setting setting: pz:max_connections. Setting pz:max_connections is
a limit of number of sockets to a host. When this limit is reached,
Pazpar2 will wait up to 5 seconds for a connection to become available.
The client will be marked Client_Error when it can not be searched
(other clients in a session may work). If pz:max_connections is not set
for a target, a value of 30 will be used. Note: the pz:max_connections
will only work in threaded mode.
pz2.js: JSON support for show.
Debian package: Enable default service, default.xml, before starting
Pazpar2 only if there is no service already in /etc/pazpar2/services-enabled.
--- 1.3.0 2010/01/25
Debian version depends on on libyaz4. Note that Pazpar2 will still
compile from source with YAZ 3.
Split services into separate files. The example configuration file
pazpar2.cfg.dist now includes a default service default.xml (part of
etc). And default.xml includes settings/edu.xml. The default.xml file,
not to be confused with settings/defaults.xml, is a template for jsdemo
and other services. The Debian package installs /etc/pazpar2/server.xml
which is now the main pazpar2 configuration (used to be called pazpar2.cfg).
The server.xml includes services from /etc/pazpar2/services-enabled/*.xml .
The default.xml (from etc) is installed in /etc/pazpar2/services-available
and a symlink to it is created from services-enabled. The default.xml
service is unnamed and, thus, will be used by jsdemo and test1.
New setting pz:negotiation_charset. Patch from Andrei V. Toutoukine. The
new setting pz:negotiation_charset specifies character set for Z39.50 Init.
--- 1.2.4 2010/01/15
Support for additional fields in cf.xsl and pazpar2.conf.dist:
publisher, available, due, location (=locallocation), callno
(=callnumber), thumburl and score.
Describe pz:xslt and the auto setting.
Move mergekey definition away from the normalization stylesheets and
define a mergekey common for all target types in pazpar2.cfg.
Code update: Use the Odr_int type for hit counts. This is part of
YAZ 3.0.47 and later, and so configure checks for that.
--- 1.2.3 2009/11/24
Metadata attribute 'skiparticle' also works for ICU based
normalization (was only working for the non-ICU/ASCII before).
Command bytarget with argument settings=1 will show settings per
target. This is to be able to verify correct settings and be able to
test that they are correct. The database settings array size is now
also stored. Problems with database settings array is that if not
careful it will be too small (smaller than dictionary per-service
in settings).
Make record list sorting stable by comparing mergekey for records if
relevance/title or other sorting criteria all match. This is merely to
ensure that our regressions tests work (reproducible output).
Relevance calculation changes: use a different denominator (length) for
per-field relevance scoring. Instead of length of all ranked fields, we
now use length of individual fields (as if they were individual "free"
text fields). This will ensure that documents with a long field with no
match (say description) will not "hurt" a title match.
Diagnostic member was not set on connection error. Fixed
--- 1.2.2 2009/10/13
Command search takes two optional parameters, startecs and maxrecs,
that specifies the start offset (0, 1, ...) and maximum number of records
to fetch for each target.
XSLTs + MARC maps are cached within a session, so we don't re-parse
them over and over again. Even for a session with a single search,
there is much to be gained because many targets use the same
transformation.