Solr中我有以下字段对文本字段(每个> 1KB)进行精确短语搜索的正则表达式:任何改善solr正则表达式搜索性能的建议?
<fieldType name="text_keyword_lowercase" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
- 正则表达式搜索文本的开头是超级快 预期(
/sear.* ph.ase.*/
); - 其他人,中间和结尾(
/.*sear.* ph.ase.*/
,/.*sear.* ph.ase/
)是 慢(在Solr的20万个文件内搜索把我的工作站上以防万一 900毫秒);
要求是能够在几秒钟内搜索几亿个文档。 关于提高后两者性能的任何建议? 或者,也许对不同的方法/工具的建议?
你的正则表达式中'。*'的用途是什么? – MikeM
@MikeM对不起,这篇文章有一个格式错误。 '。*'表示可以有零个或多个字符。 – Rahim
是的,我只是想知道,如果你正在执行“精确的短语正则表达式搜索”他们提供了什么目的。 – MikeM