簡體   English   中英

如何使用parse.com進行更靈活的搜索查詢

[英]How to make a more flexible search query using parse.com

我有一個充滿用戶和他們的信息的數據庫,我使用parse.com來搜索他們。

現在,為了使搜索更好一點,並使其靈活使用大寫字母,重音符號等,我有一個名為search_helper的列,該列在用戶注冊或更新其信息時被填充,如下所示:

            String fullNameNormalized = Normalizer.normalize(inputFirstName.getText() + " " + inputFirstSurname.getText() + " " + inputSecondSurname.getText(), Normalizer.Form.NFD);
            fullNameNormalized = fullNameNormalized.replaceAll("[^\\p{ASCII}]", "");
            fullNameNormalized = fullNameNormalized.toLowerCase();



            String searchHelper = fullNameNormalized + " " + email + " " + phone;

因此,它基本上是一個較長的字符串,包含小寫的所有用戶信息,因此當我進行查詢時,它看起來像這樣:

            String searchParams = searchText.getText().toString().toLowerCase().trim();
            ParseQuery<ParseUser> newSearch = ParseUser.getQuery();
            newSearch.whereContains("search_helper", searchParams);

在大多數情況下,這是可行的。 例如,如果我嘗試搜索“約翰·桑切斯·史密斯”,它將正確返回“約翰·桑切斯·史密斯”作為搜索結果。 但是,如果我搜索“約翰·史密斯”,它將找不到他,因為該列未完全按照該順序包含它。 有誰知道解決方法嗎?

謝謝你的時間

無法搜索“ john smith”,因為contains表示只能搜索字符串的一部分,該部分必須在一起。 對此我感到抱歉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM