Skip to content

Commit ffbec35

Browse files
authored
Merge pull request #575 from eikek/category-search-fix
Category search fix
2 parents 0be8968 + b2b8ad6 commit ffbec35

5 files changed

Lines changed: 17 additions & 3 deletions

File tree

modules/analysis/src/main/scala/docspell/analysis/nlp/StanfordNerClassifier.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package docspell.analysis.nlp
22

3-
import cats.Applicative
4-
53
import scala.jdk.CollectionConverters._
4+
5+
import cats.Applicative
66
import cats.effect._
7+
78
import docspell.common._
9+
810
import edu.stanford.nlp.pipeline.{CoreDocument, StanfordCoreNLP}
911

1012
object StanfordNerClassifier {

modules/store/src/main/scala/docspell/store/qb/DSL.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@ trait DSL extends DoobieMeta {
164164
def ===(value: A)(implicit P: Put[A]): Condition =
165165
Condition.CompareVal(col, Operator.Eq, value)
166166

167+
def lowerEq(value: A)(implicit P: Put[A]): Condition =
168+
Condition.CompareVal(col, Operator.LowerEq, value)
169+
167170
def ====(value: String): Condition =
168171
Condition.CompareVal(col.asInstanceOf[Column[String]], Operator.Eq, value)
169172

modules/store/src/main/scala/docspell/store/qb/Operator.scala

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ sealed trait Operator
55
object Operator {
66

77
case object Eq extends Operator
8+
case object LowerEq extends Operator
89
case object Neq extends Operator
910
case object Gt extends Operator
1011
case object Lt extends Operator

modules/store/src/main/scala/docspell/store/qb/impl/ConditionBuilder.scala

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ object ConditionBuilder {
6969
val colFrag = op match {
7070
case Operator.LowerLike =>
7171
lower(col)
72+
case Operator.LowerEq =>
73+
lower(col)
7274
case _ =>
7375
SelectExprBuilder.column(col)
7476
}
@@ -80,6 +82,8 @@ object ConditionBuilder {
8082
val dbfFrag = op match {
8183
case Operator.LowerLike =>
8284
lower(dbf)
85+
case Operator.LowerEq =>
86+
lower(dbf)
8387
case _ =>
8488
DBFunctionBuilder.build(dbf)
8589
}
@@ -89,6 +93,8 @@ object ConditionBuilder {
8993
val (c1Frag, c2Frag) = op match {
9094
case Operator.LowerLike =>
9195
(lower(c1), lower(c2))
96+
case Operator.LowerEq =>
97+
(lower(c1), lower(c2))
9298
case _ =>
9399
(SelectExprBuilder.column(c1), SelectExprBuilder.column(c2))
94100
}
@@ -131,6 +137,8 @@ object ConditionBuilder {
131137
op match {
132138
case Operator.Eq =>
133139
fr" ="
140+
case Operator.LowerEq =>
141+
fr" ="
134142
case Operator.Neq =>
135143
fr" <>"
136144
case Operator.Gt =>

modules/store/src/main/scala/docspell/store/records/TagItemName.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ object TagItemName {
3636

3737
def itemsInAllCategories(cats: NonEmptyList[String]): Select =
3838
intersect(
39-
cats.map(cat => Select(ti.itemId.s, taggedItems, t.category === cat).distinct)
39+
cats.map(cat => Select(ti.itemId.s, taggedItems, t.category.lowerEq(cat)).distinct)
4040
)
4141

4242
def itemsWithEitherTag(tags: NonEmptyList[Ident]): Select =

0 commit comments

Comments
 (0)