mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 02:18:26 +00:00
Fix sort when using fulltext only
This commit is contained in:
@ -9,7 +9,6 @@
|
||||
|
||||
<logger name="docspell" level="debug" />
|
||||
<logger name="emil" level="debug"/>
|
||||
<logger name="docspell.store.queries.QItem" level="trace"/>
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="STDOUT" />
|
||||
|
@ -224,6 +224,10 @@ trait Conversions {
|
||||
if (v.isEmpty) ItemLightList(Nil)
|
||||
else ItemLightList(List(ItemLightGroup("Results", v.map(mkItemLightWithTags).toList)))
|
||||
|
||||
def mkItemListFtsPlain(v: Vector[OFulltext.FtsItem]): ItemLightList =
|
||||
if (v.isEmpty) ItemLightList(Nil)
|
||||
else ItemLightList(List(ItemLightGroup("Results", v.map(mkItemLight).toList)))
|
||||
|
||||
def mkItemLight(i: OItemSearch.ListItem): ItemLight =
|
||||
ItemLight(
|
||||
i.id,
|
||||
|
@ -497,14 +497,22 @@ object ItemRoutes {
|
||||
)(settings: OSimpleSearch.Settings, fixQuery: Query.Fix, itemQuery: ItemQueryString) = {
|
||||
import dsl._
|
||||
|
||||
def convertFts(res: OSimpleSearch.Items.FtsItems): ItemLightList =
|
||||
if (res.indexOnly) Conversions.mkItemListFtsPlain(res.items)
|
||||
else Conversions.mkItemListFts(res.items)
|
||||
|
||||
def convertFtsFull(res: OSimpleSearch.Items.FtsItemsFull): ItemLightList =
|
||||
if (res.indexOnly) Conversions.mkItemListWithTagsFtsPlain(res.items)
|
||||
else Conversions.mkItemListWithTagsFts(res.items)
|
||||
|
||||
backend.simpleSearch
|
||||
.searchByString(settings)(fixQuery, itemQuery)
|
||||
.flatMap {
|
||||
case StringSearchResult.Success(items) =>
|
||||
Ok(
|
||||
items.fold(
|
||||
Conversions.mkItemListFts,
|
||||
Conversions.mkItemListWithTagsFts,
|
||||
convertFts,
|
||||
convertFtsFull,
|
||||
Conversions.mkItemList,
|
||||
Conversions.mkItemListWithTags
|
||||
)
|
||||
|
Reference in New Issue
Block a user