使用 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?)进行模糊街道地址搜索[关闭] 的相关文章

随机推荐

  • 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 等 因