Search 如何从Sphinx搜索中获取所有组合?
我通过Sphinx SQL进行搜索Search 如何从Sphinx搜索中获取所有组合?,search,full-text-search,sphinx,Search,Full Text Search,Sphinx,我通过Sphinx SQL进行搜索 SELECT * FROM sphinx.articles WHERE query='something everything;mode=all'; +----------+--------+-------------------------------+ | id | weight | query | +----------+--------+----------------------------
SELECT * FROM sphinx.articles WHERE query='something everything;mode=all';
+----------+--------+-------------------------------+
| id | weight | query |
+----------+--------+-------------------------------+
| 2324266 | 2 | something everything;mode=all |
| 6997338 | 2 | something everything;mode=all |
| 12002597 | 2 | something everything;mode=all |
| 12543040 | 2 | something everything;mode=all |
| 16314547 | 2 | something everything;mode=all |
| 19094425 | 2 | something everything;mode=all |
| 21398510 | 2 | something everything;mode=all |
| 23020445 | 2 | something everything;mode=all |
| 23040584 | 2 | something everything;mode=all |
| 24059424 | 2 | something everything;mode=all |
| 26009287 | 2 | something everything;mode=all |
| 27476187 | 2 | something everything;mode=all |
| 30488694 | 2 | something everything;mode=all |
| 30698992 | 2 | something everything;mode=all |
| 33191618 | 2 | something everything;mode=all |
| 33900227 | 2 | something everything;mode=all |
| 35671048 | 2 | something everything;mode=all |
| 39324937 | 2 | something everything;mode=all |
| 40373341 | 2 | something everything;mode=all |
| 40391221 | 2 | something everything;mode=all |
+----------+--------+-------------------------------+
20 rows in set (0.233 sec)
并通过
SHOW STATUS LIKE 'Sphinx_total_found';
+--------------------+--------+
| Variable_name | Value |
+--------------------+--------+
| Sphinx_total_found | 356179 |
+--------------------+--------+
1 row in set (0.004 sec)
我想知道是否有可能通过斯芬克斯索引所有可能的组合
例如,获取两个关键字的所有组合的结果数
+-------------------+-------------------------------+
| query | total_results |
+-------------------+-------------------------------+
| something everything;mode=all | 58844 |
| word1 word2;mode=all | 11 |
| word1 word3;mode=all | 234 |
| word2 word3;mode=all | 663 |
| word2 word4;mode=all | 9115 |
+-------------------+-------------------------------+
我知道Sphinx会根据查询中给定的关键字动态查找结果,但理论上,所有索引关键字都是已知的,我们可以进行组合。但是,如果我们单独进行查询,速度太慢。我认为这是关于Sphinx搜索引擎,而不是Python Sphinx文档生成器。python sphinx标记可能应该被删除。你是说“所有两个单词短语”吗?每两个字@barryhunter我的目标是找到最常用的短语(两个或更多的单词),但为了简单起见,我会从所有对开始。我查看了你链接的bigram_索引。我必须重新编制索引,但仍然没有找到如何获取bigrams,因为它是一个内部功能。好的,是的,bigrams应该可以工作,是的,必须重建索引才能启用它。但是一旦启用,使用“dict=keywords”提供的应该能够使用
indextool上的“dumpdict”选项