Sphinx 我可以从另一个索引创建索引吗?

Sphinx 我可以从另一个索引创建索引吗?,sphinx,Sphinx,我正在索引中执行各种regepx_过滤器来修改存储的索引文本,这些文本来自最初采用标记html格式(多个区域)的数据。在我这样做之后,现在是否可以基于第一个修改的索引创建第二个索引,该索引只使用原始索引中的一个分区 index_zones = Title, Author, Description 在使用自定义配置对此进行索引之后,我是否可以以某种方式复制此索引 仅使用区域:(标题)基于IndexA创建IndexB 例如,假设我执行了以下regexp: regexp_filter=(<Ti

我正在索引中执行各种regepx_过滤器来修改存储的索引文本,这些文本来自最初采用标记html格式(多个区域)的数据。在我这样做之后,现在是否可以基于第一个修改的索引创建第二个索引,该索引只使用原始索引中的一个分区

index_zones = Title, Author, Description
在使用自定义配置对此进行索引之后,我是否可以以某种方式复制此索引

仅使用区域:(标题)基于IndexA创建IndexB

例如,假设我执行了以下regexp:

regexp_filter=(<Title>.*?ipad.*?)(<\/Title>)<Description>.*?Used.*?<\/Description>=>\1 Used\2 in order to index used into the Title Zone.
regexp\u filter=(.*?ipad.*?)已使用。*?=>\1已使用\2以便将使用的索引编入标题区域。
现在,我想重新编制索引,或者只使用新编制的索引创建一个新索引

<Title>Bla bla ipad bla bla Used</Title>
Bla Bla ipad Bla Bla Bla使用

这可能吗?如果没有,我可以用新索引的文本更新Mysql表吗?

我认为不可能基于现有的sphinx索引创建索引。我也不认为检索regexp_过滤结果是可能的——我很确定它只能用于查询

为什么不在斯芬克斯索引之前做正则表达式呢?例如,创建一个新的db列
ipad\u used\u regex
,并使用您选择的任何脚本语言填充该列。或者使用带有的
mariaDb
可以将正则表达式匹配构建到SQL中,如下所示:

SELECT Title, REGEXP_REPLACE(Title, "(<Title>.*?ipad.*?)(<\/Title>)<Description>.*?Used.*?<\/Description>", '\\1 Used\\2') as ipad_used_regex
FROM `your_table`
选择Title,REGEXP\u替换(Title,(.*ipad.*?)(.*Used.*?),“\\1 Used\\2”)作为ipad\u Used\u regex
从你的桌子上`

然后可以在sphinx索引源中使用此SQL

我认为在源代码中使用SQl可能会变得很麻烦,因为我的示例是一个非常简单且经过淡化的实际示例,但是的,在这种情况下,我似乎必须预处理mysql,这将增加不可避免的开销,这太糟糕了。区域重量将是一个非常有用的补充!