我有一个文本文件的Sphinx索引,我想检索在索引文本文件时找到的Sphinx关键字的列表,按它们在数据集中出现的频率从高到低排序。我该怎么做呢?
如果可能的话,我想同时检索实词和词干。
我使用PHP调用索引。
以下是我对此索引的Sphinx.conf设置:
source srcDatasheets
{
type = mysql
sql_host = localhost
sql_user = user
sql_pass = pass
sql_db = db
sql_port = 3306
sql_query = \
SELECT id, company_id, title, brief, content_file_path \
FROM datasheets
sql_attr_uint = company_id
sql_file_field = content_file_path
sql_query_info = SELECT * FROM datasheets WHERE id=$id
}
index datasheets
{
source = srcDatasheets
path = /usr/local/sphinx/var/data/datasheetsStemmed
docinfo = extern
charset_type = sbcs
morphology = stem_en
min_stemming_len = 1
}
发布于 2011-08-09 11:36:15
我们不能使用Sphinx直接从实时索引中检索关键字密度。数据的存储方式不允许这样做。这是a response from the Sphinx forums。
但是,您可以使用--buildstop和--buildfreqs (see the docs)运行索引器。索引器将根据您在.conf文件中对该索引的设置,输出最频繁出现的术语和频率的txt文件。
这将处理数据集以创建列表和文本文件,而不是实际创建新的可搜索索引。
我在文本文件(转换后的pdf)的索引上运行了一个测试,最小单词长度和最小词干长度为5个字符。在大约20秒内处理了70,000个文件(5分钟,最小字符限制设置为1)。
https://stackoverflow.com/questions/6980648
复制相似问题