Build the bleve and OpenSearch index mappings from the Go struct via
reflection (json tags + per-field overrides) instead of hand-rolled
mappings and hit deserializers. New mapping package: BleveBuildMapping,
OpenSearchBuildMapping, Deserialize[T], PrepareForIndex; field decoding is
fail-soft. Mtime is typed as a date so mtime ranges are chronological on
both backends. Route CS3 facet parsing through mapping.DeserializeStringMap.
The any-valued (bleve hit) and string-valued (CS3 metadata) deserializers
share one generic fillStruct walker with a per-value setLeaf callback.
both engines now agree on names, titles, tags, paths, types, sizes, dates,
hidden flags, facet values and wildcards. quotes only delimit phrases and
the equals operator matches the whole field value, following the kql spec.
the index name carries a generation so a changed mapping starts on a fresh
index, MIGRATION.md says how to fill it.
* Add audio facet to search protobuf message
* Add audio metadata to search index
* Return audio facet from search if available
* Store audio metadata in arbitrary metadata
* Add audio facet to driveItems listings
* Make tests coding style more consistent
* Fix tests
* Add changelog
* Make valueToString code more defensive
* Log status code as well
* enhancement: improve content extraction stop word cleaning
* fix: cleanup documentation
Co-authored-by: Martin <github@diemattels.at>
* fix: failing tika stop word unit tests
---------
Co-authored-by: Martin <github@diemattels.at>
* add tags to search service resource
add tags getTags, AssignTags and UnassignTags endpoint to graph
use and prefer search event spaceOwner over executant
add tags to search report response
update libre graph api
update reva
Co-authored-by: David Christofas <dchristofas@owncloud.com>
* experimental search backport
fix basic extractor resource name
move escapeQuery regex into global variable
minor pr review changes
rename DebounceDuration env variable
add document title and content when rebuilding bleve resource
Co-authored-by: David Christofas <dchristofas@owncloud.com>