Solr查询:搜索仅包含空格的字段

时间:2012-07-10 13:25:45

标签: solr field spaces

如何编写solr查询来搜索只有空格的字段?例如

{
    "phone_number":"Airtel",
    "smstype":1,
    "phone_status":-1,
    "user_hash":"52565f64ba3e8df1aa",
    "contact_name":" ",
    "snaptype":1,
}

如果您注意到contact_name字段,它只是两个空格,我如何过滤掉仅包含特定字段空格的记录?

4 个答案:

答案 0 :(得分:0)

我已回答类似问题here

SolrQuerySytax页面中,他们说您可以使用以下查询来查找所有空查询。

-field:[* TO *] finds all documents without a value for field

答案 1 :(得分:0)

我认为这可以通过使用正则表达式查询来实现(我不是正则表达式专家,但'只有空格'非常简单和常见)。

有关solr / lucene

中正则表达式支持的详细信息,请参阅this

答案 2 :(得分:0)

添加到Persimmonium的答案 - 以下查询应该可以解决问题。

除了正则表达式,你还需要逃离空间。

contact_name:“\”*

答案 3 :(得分:0)

抱歉有点晚了。找到空格的正则表达式很容易找到。 您还应该注意您正在使用的标记器。一些标记器将剥离空白并将字段留空。