我談論這個API:不GAE搜索API做拼寫檢查
https://cloud.google.com/appengine/docs/java/search/
是否允許拼寫檢查?例如:如果我創建了一個文檔索引,並且在那些文檔中我有像「iphone」,「android」等詞語。如果我搜索「iphoen」,而不是它可以返回正確的結果嗎?
我談論這個API:不GAE搜索API做拼寫檢查
https://cloud.google.com/appengine/docs/java/search/
是否允許拼寫檢查?例如:如果我創建了一個文檔索引,並且在那些文檔中我有像「iphone」,「android」等詞語。如果我搜索「iphoen」,而不是它可以返回正確的結果嗎?
不,它不能。這只是一個索引 - 你放了它,你回來了。
您需要實現自己的拼寫錯誤邏輯。如果用戶搜索「iphoen」,則返回「iphoen」的所有結果並提示「iphone」查詢,或者,如果您確信搜索詞拼寫錯誤,請搜索「iphone」離開並詢問用戶是否應該使用「iphoen」。這就是Google搜索的工作原理。顯然,這不是一項微不足道的任務。
不,它不會這樣做。它確實直接進行文本匹配。採取從您提供的鏈接:
最簡單的查詢,有時稱爲「全局搜索」是一個字符串,只包含字段值。此搜索使用了搜索包含單詞「玫瑰」和「水」的文件的字符串:在此基礎上
index.search("rose water");
,它隱含的相當不錯,它不會爲你做模糊匹配。但是,您可以編寫一個擴展類,它接受一個字符串並針對Search API測試變體。然後您可以返回任何成功的查詢並報告模糊匹配。這樣,你的班級將採取"ipohne"
並最終嘗試"iphone"
並返回一個成功的查詢。