sql-server - 从 fts 关键字中删除双引号?
问题描述
我需要用全文索引索引 JSON 值。
在甲骨文中:
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 Server 中:
CREATE FULLTEXT INDEX ON tab_name (json_col_name)
KEY INDEX primary_key_name
ON ft_cat_name
[other options...];
两个索引都创建成功。但是当我对这些索引进行一些查询时,我在 SQL 中遇到了一些麻烦。当我试图找到原因时,我发现这是由断词引起的。
Word-breaker 将 json 文本中所有 FIELDS 和 VALUES 的不必要字符(双引号、冒号)保留为 INDEX KEYWORDS。
SELECT * FROM sys.dm_fts_index_keywords (DB_ID('db_name'), OBJECT_ID('tab_name'))
有没有人遇到过这个问题?以及如何解决?
我想知道在 SQL 中填充索引时如何配置断词器以从关键字中删除不必要的字符。
解决方案
我尝试使用中性语言 (LCID = 0) 对这些列进行索引,并从关键字中删除 JSON 字符串中所有不必要的符号。
CREATE FULLTEXT INDEX ON tab_name (json_col_name language 0)
KEY INDEX primary_key_name
ON ft_cat_name
[other options...];
推荐阅读
- javascript - 无法检查变量是否在打字稿中未定义
- saxon-js - 如何为结果文档指定输出文件以避免 URL required 错误
- azure - 使用 azcopy 进行并行复制
- python - 计算列表中不包括某些元素的元素数
- laravel - 在 laravel 分页 api 响应中更新域 url
- fortran - 在 OpenMP 中并行排列相同形状和大小的 fortran 数组
- reactjs - 在反应中更新列表的状态
- python - 如果给定二元组的概率为0,如何找到二元组的困惑度
- salt-stack - 共享 minion 数据缓存会导致 minion 定位和返回中的错误错误
- c# - Blazor 服务器 SignalR:每 5 分钟在后台获取数据并更新所有客户端的 UI?