mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 10:28:27 +00:00
Refactor full-text migrations and add folder to solr schema
This commit is contained in:
@ -17,11 +17,12 @@ import org.log4s.getLogger
|
||||
*/
|
||||
trait FtsClient[F[_]] {
|
||||
|
||||
/** Initialization tasks. This is called exactly once and then never
|
||||
/** Initialization tasks. This is called exactly once at the very
|
||||
* beginning when initializing the full-text index and then never
|
||||
* again (except when re-indexing everything). It may be used to
|
||||
* setup the database.
|
||||
*/
|
||||
def initialize: F[Unit]
|
||||
def initialize: List[FtsMigration[F]]
|
||||
|
||||
/** Run a full-text search. */
|
||||
def search(q: FtsQuery): F[FtsResult]
|
||||
@ -107,8 +108,8 @@ object FtsClient {
|
||||
new FtsClient[F] {
|
||||
private[this] val logger = Logger.log4s[F](getLogger)
|
||||
|
||||
def initialize: F[Unit] =
|
||||
logger.info("Full-text search is disabled!")
|
||||
def initialize: List[FtsMigration[F]] =
|
||||
Nil
|
||||
|
||||
def search(q: FtsQuery): F[FtsResult] =
|
||||
logger.warn("Full-text search is disabled!") *> FtsResult.empty.pure[F]
|
||||
|
@ -0,0 +1,24 @@
|
||||
package docspell.ftsclient
|
||||
|
||||
import docspell.common._
|
||||
|
||||
final case class FtsMigration[F[_]](
|
||||
version: Int,
|
||||
engine: Ident,
|
||||
description: String,
|
||||
task: F[FtsMigration.Result]
|
||||
)
|
||||
|
||||
object FtsMigration {
|
||||
|
||||
sealed trait Result
|
||||
object Result {
|
||||
case object WorkDone extends Result
|
||||
case object ReIndexAll extends Result
|
||||
case object IndexAll extends Result
|
||||
|
||||
def workDone: Result = WorkDone
|
||||
def reIndexAll: Result = ReIndexAll
|
||||
def indexAll: Result = IndexAll
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user