Python 在Solr查询上应用正则表达式?
我已经在具有以下格式数据的表上创建了索引: 今天是在公园跑步的好日子。 现在我想在文本中只显示“day”或“run”的索引上执行搜索 我实现了如下查询: q='text:(天或跑*)'Python 在Solr查询上应用正则表达式?,python,regex,solr,Python,Regex,Solr,我已经在具有以下格式数据的表上创建了索引: 今天是在公园跑步的好日子。 现在我想在文本中只显示“day”或“run”的索引上执行搜索 我实现了如下查询: q='text:(天或跑*)' 但是这个查询并没有从索引返回任何结果。这是正确的方法吗?或者我如何通过应用正则表达式来改进我的查询?您的用例非常基本,对于Solr根本不需要正则表达式。看起来您可能只是有语法问题。q=text:day或text:run应该完全满足您的需求。正则表达式和通配符在搜索引擎中的速度很慢。通过对术语进行语言敏感的预处理,
但是这个查询并没有从索引返回任何结果。这是正确的方法吗?或者我如何通过应用正则表达式来改进我的查询?您的用例非常基本,对于Solr根本不需要正则表达式。看起来您可能只是有语法问题。q=text:day或text:run应该完全满足您的需求。正则表达式和通配符在搜索引擎中的速度很慢。通过对术语进行语言敏感的预处理,您将获得更好的性能 您可以使用词干分析器将“run”与“running”匹配,这是一个分析步骤,可以将单词的不同形式简化为一个公共词干。当查询和索引项都有词干时,它们将匹配
您还应该研究ExtendedDemax(eDiscoveryMax)搜索处理程序。这将完成一些工作,将“day run”转换为搜索单个单词和短语,例如“day或run”或“day run”。然后,它可以针对具有不同权重的多个字段进行进一步扩展,所有操作都是自动完成的。请发布架构中的相关行。不清楚正则表达式或索引是否表示您的想法。AFAIK正则表达式在搜索引擎中不可用。也可能是重复的,您的字段必须是。