1

私の目標は、schoolID でヒットを除外することです。私のアプリの学校ユーザーには一意の学校 ID があり、自分だけが作成したイベントを検索でき、他の学校のイベントは表示されないようにしたいと考えています。Algolia をアプリに実装して以来、これを理解したいと思っていましたが、頭を包み込むことができません。概念は説明するのがとても簡単に思えますが、実装しようとすると、文字通り何もありません。検索結果の変化。

コミュニティ フォーラムの Algolia チーム メンバーの 1 人が返信したコードをコピーしましたが、それでも schoolID によってヒットが除外されません。私のコード ブロックを updateSearchResults() メソッドに添付します。誤りがあれば指摘してください。私のコードでわかるように、私はしばらくの間、アプリでこの大きな問題を修正しようと努力してきました。前もって感謝します。

func updateSearchResults(for searchController: UISearchController) {
let searchBar = searchController.searchBar
let settings = Settings()

    .set(\.searchableAttributes, to: [.default("eventName")])
    .set(\.attributesForFaceting, to: [.filterOnly("schoolID")])
    .set(\.attributesToRetrieve, to: ["*"])

 searchResultsIndex.setSettings(settings) { (result) in
    if case .success(let response) = result {
        print("Response: \(response.wrapped)")
    }
}
getTheSchoolsID { (schoolID) in
    if let id = schoolID {
        let schoolID: String = id
    }
    
    let query = Query(searchBar.searchTextField.text!).set(\.filters, to: "schoolID:\(schoolID)")

    searchResultsIndex.search(query: query) { (result) in
        if case .success(let response) = result {
            print("Query Success!")
        }
    }
}

}

4

0 に答える 0