如何编写 solr 查询来搜索其中只有空格的字段?例如
{
"phone_number":"Airtel",
"smstype":1,
"phone_status":-1,
"user_hash":"52565f64ba3e8df1aa",
"contact_name":" ",
"snaptype":1,
}
如果您注意到 contact_name 字段,它只是两个空格,我如何过滤掉仅包含特定字段空格的记录?
添加到 Persimmonium 的答案 - 以下查询应该可以解决问题。
除了正则表达式,您还需要为空格转义。
联系人姓名:”\ ”*
抱歉有点晚了。查找空格的正则表达式很容易找到。您还应该注意您正在使用的标记器。一些分词器会去掉空格并将该字段留空。
我认为这可以通过使用正则表达式查询来实现(我不是正则表达式专家,但“只有空格”非常简单和常见)。
有关solr/lucene 中正则表达式支持的详细信息,请参阅此内容
我在这里回答了类似的问题。
在SolrQuerySytax页面中,他们说您可以使用以下查询来查找所有空查询。
-field:[* TO *] finds all documents without a value for field