Skip to content

Commit 29ff326

Browse files
committed
feat: Update getPage and getPageCount methods to use similarityScore instead of isSemantic flag
1 parent fb1796b commit 29ff326

4 files changed

Lines changed: 28 additions & 13 deletions

File tree

api/src/main/kotlin/dev/paulee/api/data/IDataService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ interface IDataService : Closeable {
3434

3535
suspend fun getPage(
3636
query: String,
37-
isSemantic: Boolean,
37+
similarityScore: Float,
3838
order: QueryOrder?,
3939
pageCount: Int,
4040
): Pair<List<Map<String, String>>, Map<String, List<Map<String, String>>>>
4141

42-
suspend fun getPageCount(query: String, isSemantic: Boolean): Triple<Long, Long, Set<String>>
42+
suspend fun getPageCount(query: String, similarityScore: Float): Triple<Long, Long, Set<String>>
4343

4444
fun createStorageProvider(infoName: String, path: Path): IStorageProvider?
4545

core/src/main/kotlin/dev/paulee/core/data/DataServiceImpl.kt

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -537,11 +537,16 @@ object DataServiceImpl : IDataService {
537537
return result
538538
}
539539

540-
override suspend fun getPage(query: String, isSemantic: Boolean, order: QueryOrder?, pageCount: Int): PageResult {
540+
override suspend fun getPage(
541+
query: String,
542+
similarityScore: Float,
543+
order: QueryOrder?,
544+
pageCount: Int,
545+
): PageResult {
541546

542547
if (this.currentPool == null || this.currentField == null) return Pair(emptyList(), emptyMap())
543548

544-
logger.info("Query (${order ?: "None"} | Semantic: $isSemantic): $query")
549+
logger.info("Query (${order ?: "None"} | Similarity: $similarityScore): $query")
545550

546551
val key = Triple(pageCount, query, order)
547552

@@ -554,7 +559,7 @@ object DataServiceImpl : IDataService {
554559
val (filterQuery, filter) = this.getPreFilter(query)
555560

556561
val indexResult =
557-
dataPool.search(this.handleReplacements(dataPool.metadata, filterQuery), if (isSemantic) 0.8f else 0f)
562+
dataPool.search(this.handleReplacements(dataPool.metadata, filterQuery), similarityScore)
558563

559564
if (filter.isEmpty() && indexResult.isEmpty()) return Pair(emptyList(), emptyMap())
560565

@@ -590,7 +595,7 @@ object DataServiceImpl : IDataService {
590595
return result
591596
}
592597

593-
override suspend fun getPageCount(query: String, isSemantic: Boolean): Triple<Long, Long, Set<String>> {
598+
override suspend fun getPageCount(query: String, similarityScore: Float): Triple<Long, Long, Set<String>> {
594599
if (this.currentPool == null || this.currentField == null) return Triple(-1, -1, emptySet())
595600

596601
val dataPool = this.dataPools[this.currentPool] ?: return Triple(-1, -1, emptySet())
@@ -600,7 +605,7 @@ object DataServiceImpl : IDataService {
600605
val (filterQuery, filter) = this.getPreFilter(query)
601606

602607
val indexResult =
603-
dataPool.search(handleReplacements(dataPool.metadata, filterQuery), if (isSemantic) 0.8f else 0f)
608+
dataPool.search(handleReplacements(dataPool.metadata, filterQuery), similarityScore)
604609

605610
if (filter.isEmpty() && indexResult.isEmpty()) return Triple(0, 0, emptySet())
606611

gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ onnx.version=1.22.0
1414
duckdb.version=1.4.1.0
1515
caffeine.version=3.2.2
1616

17-
api.version=1.16.3
18-
core.version=1.18.9
19-
ui.version=1.19.3
17+
api.version=1.16.4
18+
core.version=1.18.10
19+
ui.version=1.19.4
2020
app.version=1.6.4

ui/src/main/kotlin/dev/paulee/ui/TextExplorerUI.kt

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ class TextExplorerUI(
171171

172172
launchQuery {
173173
val (count, pages, indexed) = withContext(Dispatchers.IO) {
174-
dataService.getPageCount(queryText, semanticSearch)
174+
dataService.getPageCount(queryText, if (semanticSearch) Config.queryEmbSimilarity else 0f)
175175
}
176176

177177
amount = count
@@ -180,7 +180,12 @@ class TextExplorerUI(
180180

181181
if (totalPages > 0) {
182182
val (pageEntries, pageLinks) = withContext(Dispatchers.IO) {
183-
dataService.getPage(queryText, semanticSearch, order, pageIndex)
183+
dataService.getPage(
184+
queryText,
185+
if (semanticSearch) Config.queryEmbSimilarity else 0f,
186+
order,
187+
pageIndex
188+
)
184189
}
185190

186191
header = pageEntries.firstOrNull()?.keys?.toList() ?: emptyList()
@@ -213,7 +218,12 @@ class TextExplorerUI(
213218

214219
launchQuery {
215220
val (entries, pageLinks) = withContext(Dispatchers.IO) {
216-
dataService.getPage(queryText, semanticSearch, order, pageIndex)
221+
dataService.getPage(
222+
queryText,
223+
if (semanticSearch) Config.queryEmbSimilarity else 0f,
224+
order,
225+
pageIndex
226+
)
217227
}
218228

219229
data = entries.map { it.values.toList() }

0 commit comments

Comments
 (0)