0
我已經擁有了一個充滿用戶及其信息的數據庫,我使用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 sanchez smith」,它會正確返回「JohnSánchezSmith」作爲搜索結果。但是,如果我搜索「約翰史密斯」,它不會找到他,因爲該列沒有按照該順序包含它。有誰知道這個解決方法嗎?
感謝您的時間
您可以分割您的字符串並單獨保存單獨的單詞[如parse的博客中所述](http://blog.parse.com/learn/engineering/implementing-scalable-search-on-a-nosql-backend /) –