sembast filter
Filter.custom을 사용할 수도 있다.
List<String> words = text .split(RegExp(r'\s+')) .map<String>( (e) => '(?=.*$e)', ) .toList(); String joined = words.join(''); RegExp re = RegExp('$joined.*', caseSensitive: false); var finder = Finder( filter: Filter.and([ // Filter.custom( // (record) { // var text = '${record[Fields.title]} ${record[Fields.subTitle]}'; // return text.contains(re); // }, // ), Filter.matchesRegExp(Fields.text, re), Filter.not(Filter.inList(Fields.id, excludes)), ]), sortOrders: [ SortOrder(Fields.saleIndex, false), SortOrder(Fields.publishDateStr, false), ], limit: pageSize); var snapshots = await store.find(db, finder: finder);