分析器索引參數會指定預設分析器,以及用於特定欄位的特定分析器。
分析器索引參數 |--analyzer--=--"--+-+----------+--analyzer-----------+--"------| | '-field--:-' | | .-,----------------------. | | V | | +-(----+----------+--analyzer-+--)-+ | '-field--:-' | +-file--:--directory--/--filename--+ '-table--:--table--.--column-------'
元素 | 說明 |
---|---|
analyzer | 分析器的名稱。可能的值:
|
column | 包含分析器指派的直欄名稱。 |
directory | 分析器指派檔案的路徑。 |
field | 已檢索的 XML 標籤、路徑或直欄名稱。 |
filename | 包含分析器指派的檔案名稱。 |
table | 包含分析器指派的表格名稱。 |
如果指定單一分析器,它可用於當您建立 bts 索引時,所檢索的所有欄位或直欄。 如果在分析器及欄位配對後面列出分析器,則除了明確列出分析器指派的欄位以外,會對其他所有的欄位使用第一個分析器。
您可以在表格直欄或檔案中,依欄位指定分析器清單。 建立索引的使用者必須可讀取檔案或表格。 以逗點、空格、換行或這些分隔字元組合,來分隔檔案或表格中的欄位名稱及分析器配對。 建立索引時,檔案或表格會變成唯讀。 如果想要新增或變更分析器指派,必須先捨棄然後重建索引。
CREATE INDEX desc_idx ON products (brands bts_char_ops)
USING bts (analyzer="cjk") IN sbsp1;
下列範例會在兩個 XML 欄位上建立 bts 索引,並對每一個欄位使用不同的分析器:
CREATE INDEX boats_bts
ON boats(xml_data bts_lvarchar_ops)
USING bts
(
xmltags="(skipper,boatname)" ,
analyzer="(skipper:soundex,boatname:snowball)"
)
IN bts_sbspace;