2010-07-11 79 views
2

我有一個網絡應用程序,我希望用戶提供他們的真實姓名,用於朋友搜索。我不知道是否這個存儲爲兩個獨立的領域在我的用戶類,或作爲單場:將用戶名稱存儲爲單獨的名/姓,或作爲單個全名存儲爲字符串?

class User { 
    @Persistent 
    private String mFirstName; 

    @Persistent 
    private String mLastName; 
} 

    .. or .. 

class User { 
    @Persistent 
    private String mFullName; 
} 

我只打算使用它能夠讓用戶搜索的人。例如,他們可能會搜索「John」,或「John Doe」或「Doe」。我不確定應用引擎查詢引擎允許我們在這裏執行哪些操作,部分匹配等方面 - 是否有人經歷過這一點,並可以推薦一個好的解決方案?我傾向於只是存儲的全名,使搜索更容易,

感謝

回答

2

這不只是一個,你怎麼收場存儲的名稱問題,這也是很重要的,你怎麼要求你的web表單上的名字。

只需一個字段提示即可保證您可以看到列出的所有各種未分析的表單here等等。

如果您提示第一個字段和最後一個字段,絕大多數輸入可能符合,但您仍然會有許多例外(前綴,中間名,後綴,標點符號等)。

如果您明確提示使用單獨的前綴,名字,中間名,姓氏,後綴字段,則會出現更少的例外情況,但用戶可能會感到厭倦或感​​到困惑。

您甚至可以同時提供:簡單的單場輸入或預先準備的多場輸入。探索其他網站做什麼,看看你是否發現他們有吸引力/混亂/任何。

另外請記住,如果你輸入單獨的字段,你可以隨時輕鬆地加入它們,但是如果你只輸入一個字段,你將不會得到打字員的幫助,如果你以後需要解析它。

2

簡短的回答:存儲的全名。

長答案here(錯誤的程序員相信名字,由帕特里克麥肯齊)。

我將列出您的系統可能對名稱所做的假設。所有這些假設都是錯誤的。

  • (#1)人們只有一個規範的全名。
  • (#20)人們擁有姓氏,姓氏或任何被認可爲親屬的人共享的東西。
+0

該鏈接不提供任何答案,只是一堆潛在的問題,沒有關於它們出現的頻率或頻率的指導。他們中的大多數都被認爲是令人激動的,但並不是每個應用程序都是有效的問題。 – 2010-07-11 16:26:57

+0

在討論中,這一點出現,我同意。但是,作爲居住在美國的外國人,我不得不用幾種不一致的方式來削弱我的名字,以適應「最後一戰」或「第一軍情六處」戰場。擁有全名字段對於大多數人來說已經足夠了。 – 2010-07-11 20:07:50