狀況

在 [英文斷詞工具,您可以使用包含有前置的小數點,如.325、.434、.646 的單字全文檢索索引至索引內容。當您嘗試在索引中尋找資料列,來搜尋十進位的值 (例如,.325), 沒有任何資料列會傳回。

因應措施

若要解決這個問題,請使用下列方法之一:

  • 使用中性文字分析器。

  • 當您使用英文斷時,請將放在小數點前面的零。例如,使用"0.325",而不是 「。 325"在搜尋中。英文斷可以正確處理編製索引及搜尋時遇到前置字元零。

更多的資訊

如果要重現問題的步驟

  1. 建立全文檢索索引建立包含前置的小數點,如.325、.434、.646,等等的搜尋文字的索引。

  2. 您可以使用下列的全文檢索查詢,藉由使用其 LCID 是 1033年英文斷搜尋這些值:

    Select * from sys.dm_fts_parser('"Ring, .325 x .434 .646 Platinum"', 1033, 0,0)


    結果

    關鍵字

    group_id

    phrase_id

    項目

    special_term

    display_term

    注意事項

    0x007700610073006800650072

    1

    0

    1

    完全相符

    電話鈴聲

    0x002E003300310033

    1

    0

    2

    完全相符

    .325

    會保留小數點

    0x006E006E00300064003300310033

    1

    0

    2

    完全相符

    nn0d325

    0x0078

    1

    0

    3

    非搜尋字

    x

    0x006E006E003400330038

    1

    0

    4

    完全相符

    .434

    會保留小數點

    0x006E006E003400330038

    1

    0

    4

    完全相符

    nn434

    0x003000340036

    1

    0

    5

    完全相符

    .646

    會保留小數點

    0x006E006E00340036

    1

    0

    5

    完全相符

    nn46

    0x007300680069006D

    1

    0

    6

    完全相符

    白金



  3. 嘗試搜尋 「。 325 」 (包括小數點):

    Select * from sys.dm_fts_parser('.325', 1033, 0,0) Using English word breaker to specify the ".325" search term.

    注意我們不到相符的項目。

    結果

    關鍵字

    group_id

    phrase_id

    special_term

    display_term

    注意事項

    0x003300310033

    1

    0

    1

    完全相符

    325

    移除在搜尋時的小數點和 325 <>.325,因此會不傳回任何資料列

    0x006E006E003300310033

    1

    0

    1

    完全相符

    nn325



    在這個範例中,如果您輸入 「。 325"作為搜尋值,就會傳回任何資料列。這是因為我們保留小數點,索引的資料,但英文斷搜尋程序時,會移除小數點。因此,我們不小心搜尋 325 而不是.325,而且沒有符合的項目。

    如果我們使用中性文字分析器,為有前置的小點的文字使用英文斷搜尋全文檢索索引的運作方式正確。

  4. 使用 [中性文字分析器,執行下列查詢:

    Select * from sys.dm_fts_parser('"Ring, .325 x .434 .646 Platinum"', 0, 0,0)


    結果

    關鍵字

    group_id

    phrase_id

    項目

    special_term

    display_term

    注意事項

    0x007700610073006800650072

    1

    0

    1

    完全相符

    電話鈴聲

    0x002E003300310033

    1

    0

    2

    完全相符

    .325

    會保留小數點

    0x006E006E00300064003300310033

    1

    0

    2

    完全相符

    nn0d325

    0x0078

    1

    0

    3

    非搜尋字

    x

    0x002E003400330038

    1

    0

    4

    完全相符

    .434

    會保留小數點

    0x006E006E00300064003400330038

    1

    0

    4

    完全相符

    nn0d434

    0x002E003000340036

    1

    0

    5

    完全相符

    .646

    會保留小數點

    0x006E006E00300064003000340036

    1

    0

    5

    完全相符

    nn0d646

    0x007300680069006D

    1

    0

    6

    完全相符

    白金



    現在,請搜尋 「。 325"如預期般運作。

    Select * from sys.dm_fts_parser('.325', 0, 0,0) Specifying Neutral word breaker.

    結果

    關鍵字

    group_id

    phrase_id

    項目

    special_term

    display_term

    注意事項

    0x002E003300310033

    1

    0

    1

    完全相符

    .325

    0x006E006E00300064003300310033

    1

    0

    1

    完全相符

    nn0d325

狀態

Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?

感謝您的意見反應!

×