熱門文章

      最新文章

      設(shè)計(jì)全方位搜索

      發(fā)布時(shí)間:2021-06-22 15:26:45

      您可以為每個(gè)實(shí)體構(gòu)建一個(gè)單獨(dú)的搜索字段,或者您可以將它們?nèi)亢喜⒌揭粋€(gè)輸入字段中。這被稱為全方位搜索。

      全方位搜索是可以完全改變產(chǎn)品用戶體驗(yàn)的功能之一。由于幾乎每個(gè)產(chǎn)品都具有搜索功能,因此絕對(duì)值得深入了解 Omni 選項(xiàng)。然而,由于搜索至少在表面上是一個(gè)帶有結(jié)果下拉菜單的平均輸入框,它看起來(lái)非常簡(jiǎn)單。我向你保證,事實(shí)并非如此。

      我個(gè)人喜歡 我使用的產(chǎn)品中的全方位搜索,并且我自己構(gòu)建了其中的一些。這樣做后,我發(fā)現(xiàn)網(wǎng)絡(luò)上關(guān)于它的可用資源少得驚人,這就是促使我寫這篇文章的原因。

      實(shí)體與屬性

      首先,快速術(shù)語(yǔ)概述。在搜索中,實(shí)體是您搜索的內(nèi)容,而屬性是您搜索的內(nèi)容。這可能會(huì)令人困惑,因?yàn)樗阉髟~可以同時(shí)出現(xiàn)。繼續(xù)前面的示例,您可以通過(guò)屬性“name”和“artist”來(lái)查找 Song 實(shí)體。但是您也可以通過(guò)屬性“藝術(shù)家姓名”和“歌曲”來(lái)查找藝術(shù)家實(shí)體。

      通常,實(shí)體將對(duì)應(yīng)于數(shù)據(jù)庫(kù)中的一個(gè)表,而屬性將對(duì)應(yīng)于該表的字段。

      全方位搜索的例子

      首先,讓我們看看全方位搜索的幾個(gè)很好的例子,以及它們?nèi)绾斡绊懏a(chǎn)品。

      Spotify

      作為全方位搜索的典型示例,Spotify 非常擅長(zhǎng)幫助您找到所需的內(nèi)容,而且他們的結(jié)果頁(yè)面可能是最好的。

      在 Spotify 上,您可以查找 8 個(gè)不同的實(shí)體:歌曲、藝術(shù)家、專輯、播放列表、播客、劇集、個(gè)人資料和流派。你能想象這個(gè)應(yīng)用程序在有 8 個(gè)輸入字段時(shí)會(huì)是什么樣子嗎?


      中等的

      不要停止閱讀來(lái)測(cè)試這個(gè)!:)

      在 Medium 上,您可以查找故事、人物、出版物和標(biāo)簽。他們采用獨(dú)特的方法來(lái)顯示結(jié)果,我將在下面展示。


      完整故事

      這是我個(gè)人的最愛。如果您不知道,F(xiàn)ullStory 是一個(gè)用于定性分析的會(huì)話記錄工具。在我看來(lái),它是迄今為止最好的,全方位搜索是它的主要原因。

      FullStory 使用全方位搜索過(guò)濾器,它有大約 30 個(gè)過(guò)濾器。雖然您可以轉(zhuǎn)到過(guò)濾器 > 選擇過(guò)濾器 > 輸入您的查詢,但只需輸入您要查找的內(nèi)容并讓全方位搜索找到它,就容易多了。

      輸入一個(gè)電子郵件地址,F(xiàn)ullStory 會(huì)推薦使用該電子郵件的用戶。輸入一個(gè) CSS 選擇器,他們會(huì)建議“點(diǎn)擊”。這就是全方位搜索的神奇之處——如果操作得當(dāng),您會(huì)感覺該應(yīng)用程序可以讀取您的想法。


      設(shè)計(jì)全方位搜索

      可搜索實(shí)體

      為了構(gòu)建全方位搜索,您需要做的第一件事是映射用戶可能正在搜索的實(shí)體。請(qǐng)記住:這不是他們搜索的內(nèi)容 - 只是他們想找到的內(nèi)容。

      您可能不確定什么是“實(shí)體”。例如,在 Google 云端硬盤上,您可以搜索 PDF、表格或文檔。這些是不同的實(shí)體嗎?雖然有一個(gè)我不會(huì)參與的技術(shù)討論,但根據(jù)經(jīng)驗(yàn),如果所有候選人共享相同的屬性(例如文檔名稱、創(chuàng)建者、日期……),那么它可以被視為具有“類型”屬性的同一實(shí)體.

      可搜索的屬性

      選擇要搜索的實(shí)體后,讓我們選擇用戶可以搜索的屬性。不要試圖使用所有可用的屬性——這會(huì)降低性能并產(chǎn)生不好的結(jié)果。相反,僅使用您的用戶可能會(huì)使用的屬性。如果您不確定,請(qǐng)猜測(cè),然后在發(fā)布后返回并查看您的用戶嘗試搜索的內(nèi)容。

      示例:在 Spotify 上,每個(gè)藝術(shù)家都有一個(gè)“關(guān)于”屬性,您可以在單擊藝術(shù)家(一直在底部)后看到該屬性。但是,如果您嘗試將“關(guān)于”文本復(fù)制粘貼到全方位搜索中,您將找不到藝術(shù)家,因?yàn)?Spotify 不會(huì)通過(guò)“關(guān)于”屬性搜索藝術(shù)家,這是有道理的:不太可能有人會(huì)嘗試在任何合理的用例中通過(guò)它進(jìn)行搜索。

      搜索行為

      您還需要在搜索中定義一些其他參數(shù):

      子串位置:

      讓我們以 The Chainsmokers 為例。您認(rèn)為應(yīng)該使用以下哪些搜索詞找到它們:“連鎖店”、“連鎖店”或“吸煙者”?

      如果你三個(gè)都猜對(duì)了,那你就對(duì)了。但情況并非總是如此。讓我們嘗試尋找中等出版物值得注意的。如果您搜索“notew”,您會(huì)找到它,但如果您搜索“值得的”,則不會(huì)。

      這與數(shù)據(jù)的索引方式有很大關(guān)系,有三個(gè)主要選項(xiàng)可供選擇:

      1. 字符串的開始(例如“鏈”)

      2. 每個(gè)單詞的開頭(例如“chains”)

      3. 所有子字符串(例如“smokers”或“ainsmoke”)

      同樣,更多并不總是更好。選擇最適合您的用戶可能會(huì)搜索的內(nèi)容。

      嚴(yán)格與模糊搜索

      用戶會(huì)犯錯(cuò)。由于打字錯(cuò)誤或拼寫錯(cuò)誤,他們可能會(huì)輸入“the chansmokers”,而忽略了“i”。模糊搜索將捕捉到這一點(diǎn)。太模糊的搜索也會(huì)抓到很多垃圾結(jié)果。

      開始搜索

      大多數(shù)搜索在您輸入至少 2-3 個(gè)字母之前不會(huì)顯示結(jié)果。

      去抖

      我們打字很快。您不希望每次擊鍵都開始新的搜索,因?yàn)檫@對(duì)用戶來(lái)說(shuō)似乎很緊張。您通常在擊鍵后等待 0.1 秒左右(不要讓我堅(jiān)持那個(gè)數(shù)字),以確保用戶停止輸入。

      大寫

      關(guān)于這一點(diǎn),不用多說(shuō)。搜索的99%,應(yīng)區(qū)分的敏感。

      分?jǐn)?shù)和權(quán)重

      這部分有點(diǎn)復(fù)雜,可以單獨(dú)寫一整篇文章,但我會(huì)盡量解釋它的要點(diǎn):

      在非常簡(jiǎn)單的搜索中,搜索詞要么找到,要么找不到。1 或 0。使用更現(xiàn)代的搜索工具(Elasticsearch 是最流行的),每個(gè)結(jié)果都會(huì)根據(jù)子字符串的位置、準(zhǔn)確性和一些其他參數(shù)獲得一個(gè)分?jǐn)?shù)。

      除此之外,還可以對(duì)這些分?jǐn)?shù)進(jìn)行加權(quán)。假設(shè)您同時(shí)按曲目名稱和藝術(shù)家搜索歌曲。“年輕”一詞可以找到 Peter、Bjorn 和 John 的 Young Folks,也可以找到 Neil Young 的 Heart of Gold。然而,在尋找歌曲時(shí),更應(yīng)該重視歌曲名稱而不是藝術(shù)家(當(dāng)然,當(dāng)您尋找藝術(shù)家時(shí),反之亦然)。

      顯示結(jié)果

      這就是樂趣開始的時(shí)候!結(jié)果可以以 3 種基本格式顯示:

      1. 快速預(yù)覽 — 顯示大約 10 個(gè)最佳結(jié)果的彈出窗口

      2. 結(jié)果摘要——一個(gè)完整的頁(yè)面,顯示每個(gè)實(shí)體的主要結(jié)果

      3. 所有結(jié)果 — 特定實(shí)體的所有結(jié)果


      并非所有應(yīng)用程序都使用所有 3 種格式。上面顯示的 Facebook 示例確實(shí)使用了所有三個(gè),但 Medium 跳過(guò)了“結(jié)果摘要”并從“快速預(yù)覽”轉(zhuǎn)到特定實(shí)體的“所有結(jié)果”。另一方面,Spotify 跳過(guò)“預(yù)覽彈出窗口”并在“結(jié)果摘要”頁(yè)面中顯示結(jié)果,然后允許“所有結(jié)果”向下鉆取。

      顯示結(jié)果時(shí)要考慮的其他事項(xiàng)

      • 單擊搜索時(shí),在輸入之前,請(qǐng)考慮顯示“最近的搜索”或“熱門搜索”以便于選擇。

      • 例如,在顯示結(jié)果時(shí),您可以按實(shí)體對(duì)它們進(jìn)行分組,以便將歌曲與藝術(shù)家分開。另一種方法是通過(guò)搜索相關(guān)性來(lái)顯示它們,在這種情況下,您可以根據(jù)他們與查詢的匹配程度顯示一位藝術(shù)家,然后是一首歌曲,然后是另一位藝術(shù)家。這就是他們?cè)?FullStory 中的做法,這對(duì)于他們的特定用例來(lái)說(shuō)非常出色。這是有道理的,因?yàn)橛泻芏鄬?shí)體,所以按它們分組意味著太多的結(jié)果。

      • 如果您選擇按實(shí)體對(duì)結(jié)果進(jìn)行分組,您仍然需要決定是始終以相同的順序顯示它們以保持一致性,還是按相關(guān)性設(shè)置組的順序。

      • 根據(jù)您在前幾節(jié)中所做的選擇,您需要決定結(jié)果卡的外觀。如果您不按實(shí)體分組,則需要為每個(gè)實(shí)體設(shè)置圖標(biāo)以方便使用。在其他情況下,您可能希望卡片上有 2-3 個(gè)屬性。例如,在專輯結(jié)果下,Spotify 會(huì)顯示藝術(shù)家姓名、專輯名稱和專輯封面。

      • 在您的結(jié)果中標(biāo)記查詢字符串確實(shí)很棒,但它帶來(lái)了一個(gè)新的腦筋急轉(zhuǎn)彎:如果您的實(shí)體有 5 個(gè)可搜索的屬性,但結(jié)果卡只顯示其中的 3 個(gè)怎么辦?在這種情況下,您可能會(huì)找到結(jié)果但不會(huì)在卡片上顯示該屬性!一種替代方法是在卡片上設(shè)置一個(gè)“靈活”屬性,以便您始終顯示找到搜索詞的位置。在上面的示例中,這可能意味著在專輯結(jié)果中,您可能會(huì)顯示封面、專輯名稱和發(fā)行日期,而不是藝術(shù)家的姓名。這會(huì)損害一致性并可能隱藏重要信息,因此請(qǐng)考慮適合您的用例的最佳解決方案。

      概括

      Omni-search 是那些乍一看很簡(jiǎn)單的功能之一,但當(dāng)您開始深入研究它們時(shí),它實(shí)際上是超級(jí)復(fù)雜的。我想展示我們?cè)谠O(shè)計(jì)時(shí)所做的所有不同的變化和設(shè)計(jì)選擇,但在一天結(jié)束時(shí)不要忘記這一點(diǎn)——一切都是為了找到你正在尋找的東西。

      希望你發(fā)現(xiàn)這很有用。如果您正在構(gòu)建自己的全方位搜索,請(qǐng)隨時(shí)在下面的評(píng)論中進(jìn)行咨詢。


      返回頂部
      主站蜘蛛池模板: 日本在线视频一区二区三区| 亚洲一区精彩视频| 在线观看日本亚洲一区| 无码人妻久久一区二区三区蜜桃| 久久综合精品不卡一区二区| 亚洲美女高清一区二区三区| 在线视频一区二区三区四区| 亚洲一区二区三区在线网站| 久久久久人妻精品一区蜜桃| 国产一区二区三精品久久久无广告 | 亚洲熟女综合色一区二区三区 | 国产精品亚洲一区二区三区久久 | 麻豆一区二区三区精品视频| 国产日韩高清一区二区三区| 丝袜美腿高跟呻吟高潮一区| 精品无码国产一区二区三区麻豆| 久久久久久人妻一区二区三区| 无码国产精品一区二区免费16| 久久AAAA片一区二区| 国产伦精品一区二区免费| 精品在线视频一区| 免费在线视频一区| 无码AⅤ精品一区二区三区| 福利片免费一区二区三区| 日本一区免费电影| 国产a久久精品一区二区三区| 国产乱码精品一区三上 | 国产精品亚洲午夜一区二区三区| 无码少妇精品一区二区免费动态| 日本在线一区二区| 精品无码一区二区三区亚洲桃色| 色一乱一伦一图一区二区精品 | 91在线精品亚洲一区二区| 无码人妻少妇色欲AV一区二区| 高清国产AV一区二区三区| 麻豆文化传媒精品一区二区| 精品视频无码一区二区三区| 精品国产一区二区三区香蕉 | 亲子乱AV视频一区二区| 日韩人妻不卡一区二区三区| 精品一区精品二区制服|