私の目標は、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!")
}
}
}
}