2016-08-17 70 views
0

需要幫助,我有一個叫做客戶的天藍色索引,並且它有兩個字段,它們的客戶&聯繫人,我已經對這兩個字段都應用了助推功能100 & 90,問題是當我搜索任何文本時首先返回客戶相關的相關性,然後聯繫相關性Azure搜索相關性

例如:如果我搜索「強生」 它首先會返回所有客戶的詳細信息與約翰遜再聯繫細節即使接觸名爲「強生」顯示的記錄

列表匹配。

記錄1:這是客戶

  1. 約翰遜&泰森 段:企業|垂直:醫療保健|國家:美國

記錄2:這是接觸但它是與客戶「約翰遜和泰森」相關

  • 邁克爾·沃爾頓 客戶:約翰遜和泰森|細分:企業|垂直:醫藥
  • 記錄3:這是接觸但是它與顧客 「約翰遜和泰森」 相關聯

  • 亨利維列根 顧客:Johnson和泰森|細分:Ent |垂直:醫藥
  • 記錄4:這是聯繫其與客戶相關聯的 「WST」

  • 亨利約翰遜 顧客:WST |細分:企業|垂直:醫藥
  • 所以在這種方式記錄顯示其最有可能的得分,但是我想首先顯示像記錄4的相關名稱 是接觸,它本來應該在的地方記錄2,因爲約翰遜姓

    +0

    提示:將Azure搜索標記添加到Azure搜索相關問題,以引起Azure搜索工程團隊的注意。 :) –

    回答

    1

    我認爲,這是因爲你有相同的價值觀提高,所以它是這樣的:

    if(Customer.Contains("Johnson") || (Contact.Contais("Johnson")) 
    { 
        //display 
    } 
    

    // PS:這種說法只是爲了澄清,聯繫人和客戶的名字有同樣重要。

    試着用不同的價值提升,我相信它會起作用。 (客戶100人,細節90人)。

    UPDATE

    看來你單獨索引名和姓。如果你有一個「全名」字段並通過它提升,可能你會得到預期的結果。另一種選擇是使用這些字段創建一個進球簡介:

    https://azure.microsoft.com/en-us/documentation/articles/search-get-started-scoring-profiles/

    +0

    感謝您的回覆和幫助我......我已經嘗試過將客戶提升爲100,並且聯繫不到那些,但它沒有工作。 – harshu288

    0

    我看問題的若干倍。雖然問題提到您有一個索引,但顯示的記錄意味着您實際上有兩個搜索索引。它是否正確?我一直致力於training course for Azure Search,討論索引和深入評分。

    目前,Azure Search不支持跨索引查詢。因此,如果我對您的問題的理解是正確的,那麼您必須運行兩個查詢:第一個是Customer索引,第二個是聯繫人索引。 Azure Search能夠如此迅速地執行搜索的一部分原因是因爲其平滑的數據結構允許快速查找和查詢。然而,你的情景蘊含着某種關係。

    我誤解了你的問題嗎?

    +0

    它看起來像在單個索引中有兩種類型的記錄,通過填充字段的子集來區分。這是用於在單個索引中擬合相關但異構數據的常見模式。 @ harshu288 - 如果我錯了,請糾正我。 –

    +0

    布魯斯,你是對的我有一個叫做「客戶」的單一索引,而且我有其中的字段,如「id」,「customerName」,「contactName」等。我已經爲客戶和聯繫人姓名應用了升級功能,但不按照上述問題中提到的要求工作 – harshu288

    +0

    我正在等待此幫助 – harshu288