Pass language when updating fulltext index

This commit is contained in:
eikek
2022-03-20 13:14:07 +01:00
parent f2a2d15e7f
commit b2add008ed
7 changed files with 72 additions and 22 deletions

View File

@ -8,7 +8,6 @@ package docspell.backend.fulltext
import cats.data.NonEmptyList
import cats.effect._
import docspell.common._
import docspell.ftsclient.FtsClient
import docspell.ftsclient.TextData
@ -62,7 +61,14 @@ object CreateIndex {
val items = store
.transact(QItem.allNameAndNotes(collective, itemIds, chunkSize))
.map(nn =>
TextData.item(nn.id, nn.collective, nn.folder, Option(nn.name), nn.notes)
TextData.item(
nn.id,
nn.collective,
nn.folder,
Option(nn.name),
nn.notes,
nn.language
)
)
fts.indexData(logger, attachs ++ items)

View File

@ -605,7 +605,14 @@ object OItem {
.transact(RItem.updateNotes(item, collective, notes))
)
.flatTap(
onSuccessIgnoreError(fts.updateItemNotes(logger, item, collective, notes))
onSuccessIgnoreError {
store
.transact(RCollective.findLanguage(collective))
.map(_.getOrElse(Language.English))
.flatMap(lang =>
fts.updateItemNotes(logger, item, collective, lang, notes)
)
}
)
def setName(item: Ident, name: String, collective: Ident): F[UpdateResult] =
@ -615,7 +622,14 @@ object OItem {
.transact(RItem.updateName(item, collective, name))
)
.flatTap(
onSuccessIgnoreError(fts.updateItemName(logger, item, collective, name))
onSuccessIgnoreError {
store
.transact(RCollective.findLanguage(collective))
.map(_.getOrElse(Language.English))
.flatMap(lang =>
fts.updateItemName(logger, item, collective, lang, name)
)
}
)
def setNameMultiple(
@ -733,10 +747,17 @@ object OItem {
)
.flatTap(
onSuccessIgnoreError(
OptionT(store.transact(RAttachment.findItemId(attachId)))
.semiflatMap(itemId =>
fts.updateAttachmentName(logger, itemId, attachId, collective, name)
)
OptionT(store.transact(RAttachment.findItemAndLanguage(attachId)))
.semiflatMap { case (itemId, lang) =>
fts.updateAttachmentName(
logger,
itemId,
attachId,
collective,
lang.getOrElse(Language.English),
name
)
}
.fold(())(identity)
)
)