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

时间:2017-03-29 20:00:18

标签: sphinx

我在索引中执行各种regepx_filters来修改存储的索引文本,这来自最初采用标记的html格式(多个区域)的数据。在我这样做之后,现在可以根据第一个修改后的索引创建第二个索引,该索引仅使用原始索引中的一个区域吗?

index_zones = Title, Author, Description

我可以在使用自定义配置对其进行索引后,然后以某种方式复制此索引

Create IndexB based on IndexA using ZONE:(Title) only

比如说我做了以下正则表达式:

regexp_filter=(<Title>.*?ipad.*?)(<\/Title>)<Description>.*?Used.*?<\/Description>=>\1 Used\2 in order to index used into the Title Zone.

现在我想重新索引或仅使用新索引的

创建一个新索引
<Title>Bla bla ipad bla bla Used</Title>
这可能吗?如果没有,我可以用新索引的文本更新我的Mysql表吗?

1 个答案:

答案 0 :(得分:2)

我认为根据现有的狮身人面像指数创建索引是不可能的。我也不认为可以检索regexp_filtered结果 - 我很确定它只能用于查询。

为什么你不在狮身人面像索引之前做你的正则表达式?例如,创建一个新的db列ipad_used_regex并使用您选择的任何脚本语言填充它。或者使用mariaDbPCRE Regex Enhancements,你可以在SQL中构建正则表达式匹配,如下所示:

SELECT Title, REGEXP_REPLACE(Title, "(<Title>.*?ipad.*?)(<\/Title>)<Description>.*?Used.*?<\/Description>", '\\1 Used\\2') as ipad_used_regex
FROM `your_table`

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

相关问题