Sphinx 搜索/MySQL 查找最常见的单词
我有一个 sphinx 搜索索引,并且想查找索引中最常见的单词。 理想情况下有一个按频率排序的单词列表。
如果无法使用 Sphinx 来做到这一点,有没有办法查询 mysql 表的文本字段以获得相同的统计数据?
I have a sphinx search index and would like to find what are the most common words in my index.
Ideally have a list of words ordered by frequency.
If it is not possible to do it using Sphinx, is there a way to query a mysql table's text fields to get the same stat?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的。这很简单。使用 --buildstops 和 --buildfreqs 通过索引器构建它们
旗帜。
此示例为您提供 sphinx 索引中的前 100000 个单词,按其频率排序
Yes. This is quite simple. Build them with indexer using the --buildstops and --buildfreqs
flags.
This example gives you the first 100000 word in your sphinx index ordered by its frequency
请注意,这不是从现有索引构建的,而是像索引一样针对数据源运行,并构建词频。它不会影响索引本身。
如果您使用增量索引来保存最后一个索引文档的 id,则这将读取最后保存的 id 并从那里开始工作。
Just be aware this does not build from the existing index, but runs against the data source as if indexing, and builds the word frequencies. It does not affect the index itself.
If you use delta indexes where you save the id of the last indexed document, this will read the last saved id and work from there.