0

メンバーの名前と姓で検索する必要がありますが、これは正常に完了しました。次にやらなければならないことは、メンバーのつながりがリストの最初に来るようにすることです (つながりでソートします)。Facebook のように、友人がリストの最初に来て、コミュニティの他のユーザーよりも最初に来るようにします。

grails プラグイン Searchable を使用しています。searchListFromSearchableこれを行う簡単な方法の 1 つは、 wrt 接続のリストをソートすることです。

以下はドメイン構造です。

class Member extends {

    String firstName
    String lastName

    static searchable = {
        analyzer "simple"
        only = ['firstName', 'lastName']
        firstName boost: 5.0
    }

    static hasMany = [connections: Connection]

}

そして接続クラスは次のとおりです

class Connection {

    String uuid
    Member connectedMember
    static belongsTo = [member: Member]

}

これを行う lucene の方法はありますか?

4

2 に答える 2

0

Lucene の Collect ステップや Score ステップにソート処理を追加できると思います。まず関係を取得し、メンバーを検索すると、メンバーが関係にあるかどうかを確認できると思います。メンバーが関係にある場合は、メソッドの前に拡張TopFieldDocCollectorして追加する独自のコレクターを作成するなど、このドキュメントのスコアを追加できます。score *= 10fsuper.collect()collect

于 2013-09-12T07:18:05.510 に答える