Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Solr查询上应用正则表达式?_Python_Regex_Solr - Fatal编程技术网

Python 在Solr查询上应用正则表达式?

Python 在Solr查询上应用正则表达式?,python,regex,solr,Python,Regex,Solr,我已经在具有以下格式数据的表上创建了索引: 今天是在公园跑步的好日子。 现在我想在文本中只显示“day”或“run”的索引上执行搜索 我实现了如下查询: q='text:(天或跑*)' 但是这个查询并没有从索引返回任何结果。这是正确的方法吗?或者我如何通过应用正则表达式来改进我的查询?您的用例非常基本,对于Solr根本不需要正则表达式。看起来您可能只是有语法问题。q=text:day或text:run应该完全满足您的需求。正则表达式和通配符在搜索引擎中的速度很慢。通过对术语进行语言敏感的预处理,

我已经在具有以下格式数据的表上创建了索引: 今天是在公园跑步的好日子。 现在我想在文本中只显示“day”或“run”的索引上执行搜索

我实现了如下查询: q='text:(天或跑*)'
但是这个查询并没有从索引返回任何结果。这是正确的方法吗?或者我如何通过应用正则表达式来改进我的查询?

您的用例非常基本,对于Solr根本不需要正则表达式。看起来您可能只是有语法问题。q=text:day或text:run应该完全满足您的需求。

正则表达式和通配符在搜索引擎中的速度很慢。通过对术语进行语言敏感的预处理,您将获得更好的性能

您可以使用词干分析器将“run”与“running”匹配,这是一个分析步骤,可以将单词的不同形式简化为一个公共词干。当查询和索引项都有词干时,它们将匹配


您还应该研究ExtendedDemax(eDiscoveryMax)搜索处理程序。这将完成一些工作,将“day run”转换为搜索单个单词和短语,例如“day或run”或“day run”。然后,它可以针对具有不同权重的多个字段进行进一步扩展,所有操作都是自动完成的。

请发布架构中的相关行。不清楚正则表达式或索引是否表示您的想法。AFAIK正则表达式在搜索引擎中不可用。也可能是重复的,您的字段必须是。