@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 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
- args.extras = { search_score: (table) => (search?.score ?? "sum") === "sum" ? drizzle_orm.sql`(${drizzle_orm.sql.join(columnsToSearch.map(([key]) => {
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