Мне нужно индексировать JSON значения с полнотекстовым индексом.
В Oracle:
CREATE INDEX index_name ON tab_name (json_col_name)
INDEXTYPE IS CTXSYS.CONTEXT
PARAMETERS ('section group CTXSYS.JSON_SECTION_GROUP SYNC (ON COMMIT)');
В SQL Сервер:
CREATE FULLTEXT INDEX ON tab_name (json_col_name)
KEY INDEX primary_key_name
ON ft_cat_name
[other options...];
Оба индексов созданы успешно. Но когда я делаю запрос с этими индексами, у меня возникают проблемы с SQL. Когда я пытался найти причину, я обнаружил, что это вызвано средством разбиения по словам.
Средство разбиения по словам сохраняет ненужные символы (двойные кавычки, двоеточие) всех полей и значений в тексте json как INDEX KEYWORDS.
SELECT * FROM sys.dm_fts_index_keywords (DB_ID('db_name'), OBJECT_ID('tab_name'))
Кто-нибудь сталкивался с этой проблемой? И как решить?
Я хочу знать, как настроить средства разбиения по словам для удаления ненужных символов из ключевых слов при заполнении индексов в SQL.