閱讀1030 返回首頁    go 人物


字段類型描述__產品使用手冊_開放搜索-阿裏雲

數據推送到OpenSearch後會先保存到離線數據表中,在此階段,為了方便用戶推送數據,數據表允許用戶根據實際業務場景定義多個表(需要指定關聯字段),並提供了數據處理的插件。數據處理完畢後會join成一張索引表,這種索引表主要定義搜索屬性,供引擎構建索引及查詢使用。

這裏分別介紹下數據表與索引表的字段對應關係。

數據表字段

數據表主要為數據導入時使用,不同的數據處理插件對類型有不同的要求,這裏隻是初步類型選擇,下一步將有更細化的類型。具體字段取值範圍,請參見係統限製-字段相關部分說明。超過取值範圍將溢出或者截斷,請務必保證選擇類型正確。

類型 說明
INT int64整型
INT_ARRAY int64整型數組
FLOAT 浮點型
FLOAT_ARRAY 浮點型數組
DOUBLE 浮點型
DOUBLE_ARRAY 浮點型數組
LITERAL 字符串常量,僅支持精確匹配
LITERAL_ARRAY 字符串常量數組,單個元素僅支持精確匹配
SHORT_TEXT 短文本,長度在100字節內,支持若幹分詞方式
TEXT 長文本,支持若幹分詞方式

索引表字段

對於INT及FLOAT類型介紹這裏不再累贅(限製詳見係統限製),重點介紹下各字段類型。

主要類型介紹

搜索效果如何跟分詞有很大的關係,分詞方式直接影響最終的搜索效果展示,目前係統支持若幹的分詞方式,需要根據實際業務場景的需求選擇合適的字段類型。

接下來,我們詳細說明下各個字段的展現效果及適用場景,供大家參考。

不分詞

不分詞,適合一些需要精確匹配或者隻展示不搜索的場景,如標簽、關鍵詞、url等。LITERAL、INT類型可選。

  1. 如文檔字段內容為“菊花茶”,則隻有搜索“菊花茶”的情況下可以召回。

中文基礎分詞

按照檢索單元做分詞,適合有語義的中文搜索場景,如標題、文本等。TEXT及SHORT_TEXT類型可選。

  1. 如文檔字段內容為“菊花茶”,則搜索“菊花茶”、“菊花”、“茶”、“花茶”的情況下可以召回。

中文單字分詞

按照單字/單詞分詞,適合非語義的中文搜索場景,如小說作者名稱、店鋪名等;TEXT及SHORT_TEXT類型可選。

  1. 如文檔字段內容為“菊花茶”,則搜索“菊花茶”、“菊花”、“茶”、“花茶”、“菊”、“花”、“菊茶”的情況下可以召回。

模煳分詞

僅適用於SHORT_TEXT短文本類型,支持拚音搜索、數字的前後綴搜索、單字或者單字母搜索。最多支持100個字節字段長度,更多介紹及注意事項參見模煳搜索使用說明

  1. 如文檔字段內容為“菊花茶”,則搜索“菊花茶”、“菊花”、“茶”、“花茶”、“菊”、“花”、“菊茶”、“ju”、“juhua”、“juhuacha”、“j”、“jh”、“jhc”等情況下可以召回。
  2. 如文檔字段內容為手機號“13812345678”,則通過“^138”來搜索以“138”開頭的手機號,通過“5678$”搜索以“5678”結尾的手機號;
  3. 如文檔字段內容為“OpenSearch”,則通過單個字母或者組合都可以檢索到。

英文去詞根分詞

適合於英文語義搜索場景,對於分詞後的每個英文單詞默認會做去詞根、單複數轉化。TEXT及SHORT_TEXT類型可選。

  1. 如文檔字段內容為“英文分詞器 english analyzer”,則搜索“英文分詞器”、“english”、“analyz”、“analyzer”、“analyzers”、“analyze”、“analyzed”、“analyzing”。
  2. (注意:英文分詞器中連續的中文會被分成一個詞)

英文簡單分詞

適合於英文書名、人名等搜索場景,按照空格及標點符號做分詞。TEXT及SHORT_TEXT類型可選。

  1. 如文檔字段內容為“英文分詞器 english analyzer”,則搜索“英文分詞器”、“english”、“analyzer”。
  2. (注意:英文分詞器中連續的中文會被分成一個詞)

自定義分詞

自定義分詞,適合特殊場景下係統自帶無法解決的搜索場景,可以實現完全用戶控製的效果。推送文檔及搜索時使用製表符“t”對字段內容(或查詢詞)進行分隔,注意二者分詞的一致性,否則會導致無法召回文檔的情況。TEXT及SHORT_TEXT類型可選。

  1. 如字段內容為“菊t花茶thao”,則隻有查詢詞“菊”、“花茶”、“菊t花茶”、“花茶thao”、“菊thao”、“菊t花茶thao”可以召回該文檔。

適用場景

  • 有語義環境的中文搜索,建議使用中文語義分詞;
  • 對於短文本或者非語義環境中文搜索(對排序沒有太多要求),建議使用中文單字分詞來擴大召回;
  • 拚音搜索請使用模煳分詞;
  • 英文場景下請使用英文去詞根分詞;
  • 某些場景下,中文語義分詞及單字分詞搭配使用,可以獲得非常好的搜索效果。如查詢query=title_index:’菊花茶’ OR sws_title_index:’菊花茶’,精排表達式為:text_relevance(title)*5+field_proximity(sws_title)。可以實現包含“xx菊xx花xx茶xx”的文檔,且排序上“菊花茶”會排在前麵。

注意事項

  • 如果TEXT字段設置了搜索結果摘要,擴展檢索單元部分詞組(如上例中的“花茶”)將不會被添加飄紅標簽。
  • 中文單字分詞對於數字跟單詞認為是一個詞,如“hello word”,搜索“hello”可以召回,搜索“he”則無法召回,敬請注意。若需要做單詞內召回,請選擇模煳分詞。

最後更新:2016-11-23 17:16:06

  上一篇:go 應用類型__產品使用手冊_開放搜索-阿裏雲
  下一篇:go 係統限製__產品使用手冊_開放搜索-阿裏雲