【问题标题】:How to get MySQL Stopwords with SQL如何使用 SQL 获取 MySQL 停用词
【发布时间】:2011-09-29 21:00:08
【问题描述】:

我知道可以在 MySQL 中的 ft_stopword_file 变量的帮助下更改停用词文件。但我需要将这些停用词读入 PHP 中的数组。所以我的问题是,

有没有办法通过使用 SQL Query 查询数据库来获取 Stop Words 结果集?

【问题讨论】:

  • 伟大而正确的答案。

标签: php mysql full-text-search stop-words


【解决方案1】:

stop-words 的列表在此文件storage/myisam/ft_static.c 中指定。因此,如果您希望它们在 PHP 中的数组中,只需读取文件并将内容转换为您需要的格式。除此之外,我认为没有其他方法可以从 MySQL 查询列表。另外,请参阅stop-words manual

【讨论】:

  • 我无法在该位置找到此文件。我在 Windows 7 上使用 MySQL 5.1
  • 在你安装 MySQL 的驱动器中搜索 myisam/ft_static.c 文件。
  • 我已经这样做了,但找不到。即使在 my.ini 中搜索 ft_stopword_file,也没有在文件中找到此条目。然后我确实显示了像'%ft_stop%'这样的变量;在结果集中针对它说“内置”的值。那是什么意思 ? .我安装了这个版本的 MySQL 作为 Zend 服务器安装的一部分。
  • 嗯.. 我不太确定 Windows,但请查看此帖子 how-to-reset-stop-words-in-mysql。这可能会让您对自己可以做什么有所了解。
【解决方案2】:

不,但是如果您通过设置 ft_stopword_file 变量设置了停用词文件的路径,那么您就知道该文件在哪里,并且可以直接在您的 PHP 脚本中读取它。

【讨论】:

  • 我提到了路径变量,只是为了表明我对该主题进行了一些研究:)。我没有创建新的停用词文件,我现在也不打算这样做。但是我更多地考虑如果我将来更改 MySQL 的版本会怎样(在这个版本中停用词也可能会改变)。通过查询从数据库中无缝获取它不是很酷吗?但从你的回答看来这是不可能的。谢谢。
  • 即使版本发生变化,存储停用词的文件也不会发生太大变化,如果要制作任何mod,也会在文件中制作。因此,从文件中读取是满足您需求的好(唯一)选项
猜你喜欢
  • 2019-09-11
  • 1970-01-01
  • 2010-10-22
  • 2021-01-13
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
  • 1970-01-01
  • 2018-10-30
相关资源
最近更新 更多