inveniosoftware / invenio-oaiserver

Invenio module that adds more fun to the platform.
https://invenio-oaiserver.readthedocs.io
MIT License
3 stars 44 forks source link

tests: include ES5 and unpin elasticsearch* requirements #103

Closed jirikuncar closed 6 years ago

jirikuncar commented 7 years ago
hjhsalo commented 6 years ago

@lnielsen I did some background reading (and googling) and now I have couple of questions:

hjhsalo commented 6 years ago

I opened https://github.com/inveniosoftware/invenio-oaiserver/pull/132 so maybe we move discussion to there...

slint commented 6 years ago

Screenshot from running the official migration tool on a Zenodo ES 2.3 instance: localhost_9200__plugin_elasticsearch-migration_

krzysztof commented 6 years ago

Some changes to suggesters between ES2 and ES5

ES5 does not support "output"/"payload" during indexing:

Mapping "payloads" is no longer supported in ES5:

slint commented 6 years ago

One issue here is that the user-defined payload object could also contain some extra logic, as done in the invenio-openaire grants indexing (the legacy_id field is used by Javascript in the UI). Of course, this extra logic could be either moved to the body of the document (adding a legacy_id field in the mapping) or to the consumer of the response (Javascript in the UI).

krzysztof commented 6 years ago

Of course, this extra logic could be either moved to the body of the document (adding a legacy_id field in the mapping)

I guess that's the way to do it, since you would do this logic during indexing anyway, so now you simply write it to a first-class-citizen field instead of the subfield of "suggest"