diff --git a/modules/fts-client/src/main/scala/docspell/ftsclient/FtsResult.scala b/modules/fts-client/src/main/scala/docspell/ftsclient/FtsResult.scala index cec71a51..df1c43ac 100644 --- a/modules/fts-client/src/main/scala/docspell/ftsclient/FtsResult.scala +++ b/modules/fts-client/src/main/scala/docspell/ftsclient/FtsResult.scala @@ -18,8 +18,8 @@ object FtsResult { FtsResult(Duration.millis(0), 0, 0.0, Map.empty, Nil) sealed trait MatchData - case class AttachmentData(attachId: Ident) extends MatchData - case object ItemData extends MatchData + case class AttachmentData(attachId: Ident, attachName: String) extends MatchData + case object ItemData extends MatchData case class ItemMatch( id: Ident, diff --git a/modules/fts-solr/src/main/scala/docspell/ftssolr/JsonCodec.scala b/modules/fts-solr/src/main/scala/docspell/ftssolr/JsonCodec.scala index c03db843..a053d724 100644 --- a/modules/fts-solr/src/main/scala/docspell/ftssolr/JsonCodec.scala +++ b/modules/fts-solr/src/main/scala/docspell/ftssolr/JsonCodec.scala @@ -80,7 +80,10 @@ trait JsonCodec { disc <- c.get[String]("discriminator") md <- if ("attachment" == disc) - c.get[Ident]("attachmentId").map(FtsResult.AttachmentData.apply) + for { + aId <- c.get[Ident](Field.attachmentId.name) + aName <- c.get[String](Field.attachmentName.name) + } yield FtsResult.AttachmentData(aId, aName) else Right(FtsResult.ItemData) } yield md } diff --git a/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrQuery.scala b/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrQuery.scala index 5e24d383..6342cd6d 100644 --- a/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrQuery.scala +++ b/modules/fts-solr/src/main/scala/docspell/ftssolr/SolrQuery.scala @@ -32,6 +32,7 @@ trait SolrQuery[F[_]] { Field.collectiveId, Field("score"), Field.attachmentId, + Field.attachmentName, Field.discriminator ), q