0
我有一個需要爲通過Oracle APEX應用程序進行全文搜索啓用3列的表。我如何爲所有三列創建一個索引,以便它們都可以被搜索?爲上下文全文搜索索引同一個表的多個列?
目前我有一列(STOP_NAME)上下文索引:
DECLARE
l_query VARCHAR2(4000);
BEGIN
l_query:=
'select
"BUS_STOP_ID",
"STOP_NAME",
"DESC_NOTES",
"BUS_NUMBERS",
"LOCATION"
from "BUS_STOPS" ';
IF v('P2_REPORT_SEARCH') IS NOT NULL THEN
l_query := l_query||' '||'
where
(
CONTAINS(STOP_NAME, ''$'|| v('P2_REPORT_SEARCH') ||''') > 0
)
';
END IF;
RETURN l_query;
END;
但我怎麼能創建使用三列(stop_name,desc_notes,bus_numbers)文本搜索索引?我試着用標準指數使用3列上創建,但它沒有工作:
CREATE INDEX bus_stops_ctx_idx
ON bus_stops (stop_name, bus_numbers, desc_notes)
INDEXTYPE IS ctxsys.context;
SQL注入警報!試試這個:'CONTAINS(STOP_NAME,''''||:P2_REPORT_SEARCH)> 0' –