@m1212e/rumble 0.13.1 → 0.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/index.cjs +6 -2
- package/out/index.cjs.map +1 -1
- package/out/index.d.cts +7 -0
- package/out/index.d.cts.map +1 -1
- package/out/index.d.mts +7 -0
- package/out/index.d.mts.map +1 -1
- package/out/index.mjs +6 -2
- package/out/index.mjs.map +1 -1
- package/package.json +1 -1
package/out/index.cjs
CHANGED
|
@@ -1372,11 +1372,12 @@ function adjustQueryArgsForSearch({ search, args, tableSchema, abilities }) {
|
|
|
1372
1372
|
if (search?.enabled && args.search && args.search.length > 0) {
|
|
1373
1373
|
const columnsToSearch = abilities.query.many.columns ? Object.entries(tableSchema.columns).filter(([key]) => abilities.query.many.columns[key]) : Object.entries(tableSchema.columns);
|
|
1374
1374
|
const searchParam = drizzle_orm.sql`${args.search}`;
|
|
1375
|
-
|
|
1375
|
+
const scoring = (table) => (search?.score ?? "sum") === "sum" ? drizzle_orm.sql`(${drizzle_orm.sql.join(columnsToSearch.map(([key]) => {
|
|
1376
1376
|
return drizzle_orm.sql`COALESCE(similarity(${table[key]}::TEXT, ${searchParam}), 0)`;
|
|
1377
1377
|
}), drizzle_orm.sql.raw(" + "))})` : drizzle_orm.sql`GREATEST(${drizzle_orm.sql.join(columnsToSearch.map(([key]) => {
|
|
1378
1378
|
return drizzle_orm.sql`similarity(${table[key]}::TEXT, ${searchParam})`;
|
|
1379
|
-
}), drizzle_orm.sql.raw(", "))})
|
|
1379
|
+
}), drizzle_orm.sql.raw(", "))})`;
|
|
1380
|
+
args.extras = { search_score: scoring };
|
|
1380
1381
|
const originalOrderBy = (0, es_toolkit.cloneDeep)(args.orderBy);
|
|
1381
1382
|
args.orderBy = (table) => {
|
|
1382
1383
|
const argsOrderBySQL = drizzle_orm.sql.join(Object.entries(originalOrderBy ?? {}).map(([key, value]) => {
|
|
@@ -1387,6 +1388,9 @@ function adjustQueryArgsForSearch({ search, args, tableSchema, abilities }) {
|
|
|
1387
1388
|
const searchSQL = drizzle_orm.sql`search_score DESC`;
|
|
1388
1389
|
return originalOrderBy ? drizzle_orm.sql.join([argsOrderBySQL, searchSQL], drizzle_orm.sql.raw(", ")) : searchSQL;
|
|
1389
1390
|
};
|
|
1391
|
+
args.where = { AND: [(0, es_toolkit.cloneDeep)(args.where) ?? {}, { RAW: (table) => {
|
|
1392
|
+
return drizzle_orm.sql`${scoring(table)} > ${search.threshold ?? .15}`;
|
|
1393
|
+
} }] };
|
|
1390
1394
|
}
|
|
1391
1395
|
}
|
|
1392
1396
|
|