Indexer: Slash / in PI nicht machen (error: multiple values)

Liebe Gemeinde, liebes Team,

zu info, ich hatte mich letztens an folgendem Phänomen abgearbeitet:

Gegeben ist ein Identifier mit Slash, z.B. DE-0815/38-6758.

Dass der indexer bzw. der viewer keine Slashes im Identifier gebrauchen kann, ist verständlich, weil er ja Teil der URL wird. Damit der Identifier sicher an der gleichen Stelle steht sollte er nicht mehrteilig sein. Soweit, so gut.

Was der Indexer nun tut ist, dass er den Identifier am Slash teilt und als mehrere Identifier behandelt. Das führt dann zu einer Fehlermeldung, dass “multiple values” für dieses Feld nicht erlaubt seien.

Was der Indexer nicht tut, aber könnte, ist ungeeignete Buchstaben zu ersetzen. Was er auch nicht macht: replace-Angaben ausführen oder “Untokenized” zu behandeln. Offenbar erfolgt das Tokenisieren davor …

Kurz: Im Hauptidentifier sollten gar keine “/” vorkommen.

Richtig?

Noch nie ausprobiert. Ich hätte jetzt gedacht, dass eine replace Anweisung schon funktionieren sollte, aber weil PI ein so bedeutendes Feld ist kann es gut sein, dass es eine besondere Behandlung im Code gibt…

Hallo,

ich nehme mal an, es handelt sich um LIDO (METS erlaubt grundsätzlich nur “-” als einziges Sonderzeichen)?

Bei LIDO ist es aktuell leider (hardcoded) so, dass bei enthaltenen Slashes immer nur der Wert nach dem letzten Slash als Identifier verwendet wird.

Viele Grüße
Andrey

Hallo @andrey.kozhushkov

ja, es war LIDO.

Naja, leider ist es nicht so, dass er den letzten Teil nimmt, sondern er versucht beide zu nehmen. Deswegen ist es ja der multiple values-Error.

Hallo @bbfks ,

das ist eigenartig, denn PI wird hardcoded eingelesen (daher auch keine Replace- oder UNTOKENIZED-Behandlung o.ä. möglich) und hat nur eine String-Variable…

Könntet Ihr evtl. den Indexlog-Teil einer solchen Datei posten?

Viele Grüße
Andrey