sql-server - 包含对单词“after”的搜索失败
问题描述
基本上运行以下内容:
SELECT *
FROM document
WHERE contains(cachedText, 'after')
返回 0 条记录,与任何包含该单词after
的搜索词相同。
正在寻找:
SELECT *
FROM document
WHERE cachedText like '%after%'
在我的数据集中返回大约 200k 条记录。只是想知道这是否有任何原因?
解决方案
第一个查询匹配单词“after”,即其他文本中的不同单词。(如果“after”在停用词列表中,则它会被完全忽略。)您可以在全文搜索中阅读详细信息。
第二个查询匹配“afternoon”、“crafters”、“dafter”、...,即任何包含“after”的字符串,无论分词如何。
检查第二个查询返回的匹配项,您可能会发现“after”嵌入在较长的单词中。
推荐阅读
- jquery - 在 li 标签中的元素之后插入 html
- vuejs2 - vuejs2通过axios store返回用户列表
- java - Java Executor Service 等待所有任务完成
- graphql - 如何处理大型嵌套对象的缓存
- python - 从嵌套的无序 html 列表创建 Pandas 数据框
- matlab - 单击轴时绘制 ode 解决方案
- malloc - fopen 在执行 malloc 时在 RHEL 5.x 中崩溃,尽管系统有很多可用内存
- php - curl 迁移到 https 后返回 301 错误
- postgresql - 如何从 postgres 中确定 linux 用户 ID?
- groovy - 如何测试某个字段是否设置为某个值?