java - Sorting RealmResults by relevance -
i trying create search engine show results containing different tags. results must sorted relevance.
lets have following models:
public class article extends realmobject{ @primarykey private string aid = uuid.randomuuid().tostring(); private realmlist<tags> tags; } public class tags extends realmobject{ @primarykey private string tid = uuid.randomuuid().tostring(); private string tag; private realmlist<articletagsrelation> articlestag; } public class articletagsrelation extends realmobject{ private string tid; private string aid; private long timesarticleselectedbytag; } so relation between realmobjects are: article (many-to-many) tags (many-to-many) articletagsrelation
when users search tag, app should return articles fill search:
realm.where(article.class).equalto("tags.tag", usersearch).findall(). however, sort results relevance. relevance in example number of times users have selected article when searching related tag (articletagsrelation.timesarticleselectedbytag).
i have been struggling while find direct way accomplish no result. there direct way it? if not, sorting results 1 one unique solution?
thanks
realm 3.5.0+:
public class article extends realmobject{ @primarykey private string aid = uuid.randomuuid().tostring(); private realmlist<tags> tags; @linkingobjects("article") private final realmresults<articletagsrelation> articleofrelation = null; } public class tags extends realmobject{ @primarykey private string tid = uuid.randomuuid().tostring(); private string tag; @linkingobjects("tag") private final realmresults<articletagsrelation> tagofrelation = null; } public class articletagsrelation extends realmobject{ private tags tag; private article article; private long timesarticleselectedbytag; } realm.where(article.class) .equalto("tags.tag", usersearch) .findallsorted("articleofrelation.timesarticleselectedbytag", sort.descending);
Comments
Post a Comment