小编cga*_*rdo的帖子

如何在Solr 4中使用正则表达式进行查询

我已经到了绝望的地步,所以我正在寻求帮助.我正在尝试使用正则表达式查询Solr 4引擎的结果.

让我们假设我要查询的文档是:

<str name="text">description: best company; name: roca mola</str>
Run Code Online (Sandbox Code Playgroud)

我想使用这个正则表达式进行查询:

description:(.*)?company(.*)?;
Run Code Online (Sandbox Code Playgroud)

我在一些论坛中读到在Solr 4中使用正则表达式就像添加斜杠一样简单,例如:

localhost:8080/solr/q=text:/description\:(.*)?company(.*)?;/
Run Code Online (Sandbox Code Playgroud)

但它不起作用.这个也不起作用:

localhost:8080/solr/q=text:/description(.*)?company(.*)?;/
Run Code Online (Sandbox Code Playgroud)

我不想要一个简单的查询:

localhost:8080/solr/q=text:*company*
Run Code Online (Sandbox Code Playgroud)

因为这会使文档不匹配,例如:

<str name="text">description: my home; name: mother company"</str>
Run Code Online (Sandbox Code Playgroud)

如果我不清楚请告诉我.

来自智利的干杯:D

注意:我text_general在我的计划中使用字段.正如@arun指出的那样,string字段可以处理我正在使用的正则表达式.

regex solr

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

regex ×1

solr ×1