我正在嘗試製作一個React instantsearch,可讓您搜索電話號碼。他們需要以這種格式顯示:「(123)456-7890」,但我希望能夠使用「(123)456-7890」或「1234567890」進行搜索。Algolia InstantSearch:如何使搜索不可知與格式與parens?
我想我可以將它存儲在格式化的索引中,然後打印錯誤容忍會處理非格式化的查詢。但是查詢「1234567890」沒有結果。它顯然與格式將數字分成三個單詞並且查詢只是一個單詞有關。奇怪的是,這意味着添加圓括號不會讓您在搜索中找到更多匹配字符,但將它們排除在外可能會導致查詢根本不匹配。
然後我試着把它作爲非格式化(只有數字)存儲在索引中。這一次,格式化和未格式化的查詢都得到了匹配。但是,當按位數字輸入時,當我到達「(123)」時結果消失,只有當我到達「(123)456-7」時纔會重新出現。看起來像是一個令人沮喪和奇怪的用戶體驗,只需輸入結果顯示的數字並使其消失即可。
我已經嘗試將perens添加到可選單詞設置中,但似乎沒有任何效果。我認爲,如果我能讓阿爾戈利亞忽略了這些perens和破折號,而不是用一個空格替換它們,那麼這整個事情就不會成爲問題。有沒有辦法做到這一點?也許最好找到一種方法來過濾查詢發送到Algolia之前?我應該怎麼做?
不會幫助索引功能,格式化,格式化,並顯示格式化的一個? '{number_formatted:「(123)456-7890」,number_unformatted:1234567890}' 我剛試過,每次都匹配。 –