使用 MySQL Fulltext(或 sphinx?)进行模糊街道地址搜索[关闭]

2023-12-28

我有一个数据库表,其中包含来自 Google 地图地理编码响应的地址。 Google 缩写了所有方向(西 -> W、东 -> E 等)。

因此,如果我输入“100 West Pender Street”这样的地址,那么 Google 地图返回的格式化地址是“100 W Pender St”,我将其插入到表中。

现在,如果用户出现并搜索该地址,则以下所有内容都应该匹配:

彭德街 西彭德街 100 待办者 100W 吊灯 100 西彭德

他们或多或少都是这样做的。然而,表中的“w”被忽略,因为它低于最小字长。位于 east penner 的地址在搜索结果中具有相同的权重(“E”也被忽略)。

处理这个问题的最佳方法是什么?

我怀疑将最小字长设置为 1 是一件“坏事”。

我可以搜索并替换谷歌地址中的已知缩写(N、E、S、W、St、Ave、Dr 等),并将它们替换为它们的扩展名 - 但有些街道名称不是这样的有效(某些城市有单字母街道名称:J 街等...)

此外,像“123 160 St”这样的地址根本无法搜索,因为街道号码 (123) 和街道名称 (160) 都低于最小字长。

MySQL FullText 是正确的方法吗? Sphinx 提供更好的东西吗?

或者还有其他我还没有考虑过的解决方案?请记住,用户的搜索查询不仅会与属性的地址相匹配,还会与其他文本列(例如属性名称和描述)相匹配。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MySQL Fulltext(或 sphinx?)进行模糊街道地址搜索[关闭] 的相关文章

  • MySQL-分割字符串

    我的问题与这篇文章类似 MySQL 中的 反向 GROUP CONCAT https stackoverflow com questions 17308669 reverse group concat in mysql 然而 而不是反转gr
  • 查询中的存储过程

    有一个程序获取文件列表 顾名思义 返回一个文件列表以及更多选项 那么是否可以在查询选择中使用此过程 像这样的东西 select Field1 from Image where Field2 IN call GetFileList 你应该把它
  • 如何通过单个mysql查询更新多个表?

    我有两个表 tb1 和 tb2 我必须在用户级别更新两个表的公共列 我对两个表都有一个共同的标准 例如用户名 所以我想这样更新 UPDATE tb1 tb2 SET user level 1 WHERE username Mr X 但不知何
  • MySQL:更新所有行将字段设置为0,但将一行的字段设置为1

    是否有一种有效的方法将行字段的选择更新为 0 但根据 ID 将其中一行设置为 1 基本上 我在数据库中有多个对象 我想在其中一个 inuse 之间切换 因此查询将其中一行 按 id 设置为 inuse 1 将其他行设置为 inuse 0 谢
  • 如何使用 django 过滤器 icontains 获取多个字段

    我正在尝试将查询搜索与所有模型字段进行比较 但我不知道如何在多个字段中执行此操作 这是我的代码 expense Expense objects filter user request user id order by date q requ
  • 我应该保留远程数据库的本地副本吗?

    我正在开发一个应用程序 基本上允许人们创建 加入和管理其他人的群组 群组内的人也可以互相发送消息 我一直在想哪条路会更好 保留包含所有信息的远程数据库 包括发送给用户和从用户发送的消息 并让应用程序在每次需要信息时查询服务器 甚至是它以前见
  • 使用 PHP 和 jSON 从 MySQL 获取 UIImage

    我正在开发一个小型新闻阅读器 它通过对 URL 执行 POST 请求来从网站检索信息 响应是一个带有未读新闻的 JSON 对象 例如 应用程序上的最新新闻的时间戳为 2013 03 01 当用户刷新表时 它会发布 domain com ap
  • 使用mysql数据按高低价格排序

    这是我所拥有的以及我想做的 我的 MySql 数据库中有 12 个项目 4 个产品为 4 99 4 个产品为 3 99 4 个产品为 2 99 我意识到我可以像这样查询数据库 它会给我一个该价格的产品列表
  • 自动将范围内的值插入表中

    是否可以使用 MySQL 语句自动将值插入表中 即从 30 到 200 这是一个应该执行此操作的存储过程 CREATE PROCEDURE insert range BEGIN DECLARE i INT DEFAULT 30 WHILE
  • 多个数据库连接

    我有三张桌子 categories content info and content The categories表包含类别的id及其 IDparent类别 The content info包含两列 entry id帖子的 ID 和cat
  • 未找到教义列:1054“字段列表”中未知列“s.features”

    我在站点表中添加了一个新列 features 并使用 Doctrine 重新生成了模型 此代码导致错误 siteTable Doctrine Core getTable Site site siteTable gt findOneByNam
  • 解析错误:语法错误,意外的“”(T_ENCAPSED_AND_WHITESPACE)[重复]

    这个问题在这里已经有答案了 完整错误 解析错误 语法错误 意外的 T ENCAPSED AND WHITESPACE 需要标识符 T STRING 或 变量 T VARIABLE 或数字 T NUM STRING 它说错误出现在第 12 行
  • 如何备份整个MySQL数据库的所有用户、权限和密码?

    我需要备份整个 MySQL 数据库 其中包含所有用户及其权限和密码的信息 我看到选项http www igvita com 2007 10 10 hands on mysql backup migration http www igvita
  • Elasticsearch 关于“空索引”的查询

    在我的应用程序中 我使用了几个elasticsearch索引 它们在初始状态下不包含索引文档 我认为这可以称为 空 该文档的映射是正确且有效的 该应用程序还有一个包含实体的关系数据库 这些实体可能具有在 elasticsearch 中关联的
  • 可以有多个用户作为 MySQL 存储过程的定义者吗?

    我在 MySQL 存储过程方面遇到了一些困难 并且感到有点沮丧 我有一组由 Bob 创建的 SP 由于他是定义者 只有他才能看到它们的 CREATE 语句 修改它们等 Mary 可以在 MySQL Workbench 的架构中看到 Bob
  • MyISAM 方言生成错误的 DDL

    我们使用 MyISAM 方言org hibernate dialect MySQLMyISAMDialect使用JPA2自动生成DDL文件3 6 9 FinalMySQL 5 5 数据库上的 hibernate 提供程序 The creat
  • 展平具有未知列数的子/父数据

    我正在努力寻找存储和表示 SQL MySQL DB 和 C Windows 表单中的数据的最佳方法 我的数据映射到如下所示的类时 public class Parent public string UniqueID get set Key
  • 捕获动态表中 HTML 元素的值

    我有从数据库生成的以下动态表
  • iPhone表情插入MySQL却变成空值

    我们正在开发一个 iPhone 应用程序 它将表情符号从 iPhone 发送到服务器端 PHP 并插入到 MySQL 表中 我正在做服务器端的工作 但是insert语句执行成功后 插入的值变成空了 我可以正确插入字段 varchar 的是文
  • mysql计算唯一行值

    TABLE quotation id clientid 1 25 2 25 3 25 4 25 5 26 如何查询有多少个不同的客户端TABLE quotation 我不希望重复的条目被计算多次 我需要的答案是2 在 1 行中 因为唯一的非

随机推荐

  • volatile int 比 AtomicInteger 快吗

    我目前正在做一个示例练习 我发现一个奇怪的观察结果 如果我用易失性程序替换 AutomicInteger 则运行速度会更快 注意 我只进行读操作 code import java util ArrayList import java uti
  • 如何访问 Backbone 视图中的父元素?

    在 Backbone 模型视图中 似乎 this el parent 不起作用 从视图中选择父元素的最佳方法是什么 我正在使用设置 eltagName li 为了景观 默认情况下 Backbone 分配一个空的div到你的视图中 你无法访问
  • 如何使用opencv python解决theta迷宫?

    I have to find shortest path from the center of the maze to the outermost circle I have to solve this problem using open
  • 检查 WHERE 子句中参数是否为 NULL

    我在执行一个存储过程时遇到了麻烦 该过程需要永远执行 它相当大 我可以理解我需要一些时间 但这个持续了将近 20 分钟 经过一些调试和研究后 我注意到替换这部分WHERE clause p DrumNo IS NULL OR T ORDER
  • 获取不同项目及其数量的列表

    我有一个对象 它有很多属性 但唯一需要担心的两个是 myobject ID这是一个int myobject Names这是一个HashSet 然后我有一个List这些对象看起来与此类似 List
  • 如何从 Jupyter Notebook 中的 .py 文件调用函数?

    我不想在每个 Jupyter Notebook 文件中编写相同的函数 如果我只需要编辑一次函数而不需要在每个 ipynb 文件中进行编辑 那就更容易了 问题是 如果我编辑 py 文件 我必须重新启动内核 这将重新启动一切 有什么方法可以简单
  • 在 XML 中保留原始换行符类型(\r 与 \r\n)

    我有一个应用程序 我想在其中使用 XML 文件来存储 1 文档的原始文本 以及 2 使用字符偏移量 指向 原始文本的多个实体 例如
  • 从代码中取消 Apache Flink 作业

    我现在的情况是想从代码中停止 取消 flink 作业 这是在我的集成测试中 我正在向我的 flink 作业提交任务并检查结果 当作业异步运行时 即使测试失败 通过 它也不会停止 我想在考试结束后在车站工作 我尝试了一些事情 我在下面列出 获
  • 集合已修改;枚举操作可能无法执行。当更新哈希表的值时

    当我尝试更新值时 此代码抛出异常 第一个值仅更新 然后抛出异常 集合已修改 枚举操作可能无法执行 Hashtable hh new Hashtable hh Add val 1 null hh Add val 2 null foreach
  • 如何将不规则张量与 tf.data 和 TFRecords 一起使用?

    Tensorflow 最近发布了 Ragged Tensors https www tensorflow org guide ragged tensors https www tensorflow org guide ragged tens
  • 在 Canvas WPF 上绘制一条线后在 A 点和 B 点上显示文本框

    在我的项目中 我使用此代码在画布上绘制线条 List
  • 在react jsx中显示html标记

    想要在我的模板中直接显示 html 标记 这是我正在编写要显示的 html 代码的文件 我想显示所有的 html 元素 import React from react const html div ul li 1 li li 2 li li
  • (a*+b*) 生成的字符串是什么类型

    除了任意数量的 a 和 b 的字符串 如 aa 或 bb 之外 正则表达式 a b 是否会包含类似的字符串 ab 或任何以 b 结尾的字符串 a b 与 a b 相同吗 我对正则表达式 a b 生成的字符串有点困惑 如果有人可以提供帮助 我
  • 处理程序与线程

    我想知道一次 我读过很多地方 当我想做一些 长时间操作 时 我应该使用Handler 但我不明白为什么 我所有的 长时间操作 都用常规线程包围 并且工作正常 我为什么要使用Handler为了这 我唯一需要使用的时间Handler是 当我必须
  • 非静态数据成员类推导

    我正在尝试解决类型推导问题 这是演示代码 使用函数重载来定义传递的变量是 int 还是 double std string tcast const double x return Floating Point std string tcas
  • 单击按钮时显示/隐藏元素

    我有两个按钮 显示 和 隐藏 我有一个图像 所以我想知道当我单击 隐藏 按钮时 该图像会消失 当我单击 显示 按钮时 它会再次出现 我不想只使用 CSS 或 JQUERY Javascript 来完成此操作 如果有人可以提供帮助 非常感谢
  • Thrift HBase 客户端 - 支持过滤器和协处理器

    遗憾的是 我的 hbase 客户端语言是 Python 我现在使用 happybase 它基于 thrift AFAIK 我知道到目前为止 thrift 仍然不支持过滤器 协处理器 如果我错了 请纠正我 有人可以给我指出任何可以跟踪计划 进
  • 算法选择建议

    我必须做一个项目 尝试扫描车辆的形状并检测它是什么类型的车辆 扫描将使用称为 车辆扫描仪 的传感器进行 它们只有 50 束光 每束都有接收器和发射器如图所示 我从传感器获得每个光束的原始状态 阻挡或解锁 通过连续扫描 我们可以创建可能非常低
  • VIM textwidth 没有效果

    这感觉像是一个愚蠢的问题 但我在互联网上 或在 VIM 帮助中 找不到答案 我在 Mac OS X 上使用 VIM 7 2 我想做的就是将行换行为 72 个字符 但是这样做 set textwidth 72 没有影响 文本宽度设置正确 我可
  • 使用 MySQL Fulltext(或 sphinx?)进行模糊街道地址搜索[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个数据库表 其中包含来自 Google 地图地理编码响应的地址 Google 缩写了所有方向 西 gt W 东 gt E 等 因