如何查询solr java客户端的子句?

时间:2014-03-17 09:24:44

标签: java solr solrj

我现在正在使用solr进行查询。我想找到所有文件,其关键字“title”包含文本“Bifidobacterium bifidum”或关键字“abstract”包含文本“Bifidobacterium bifidum”。所以,我写下我的查询如下:

String queryCondition = "title:*Bifidobacterium bifidum* OR  abstract:*Bifidobacterium bifidum*";

从结果中,我发现返回的结果不是我想要的,标题包含“双歧杆菌”或“双歧杆菌”,或其标题包含“双歧杆菌”或“双歧杆菌”的文件全部归还。所以,我的问题是,我应该如何编写查询以满足我的查询需求?

1 个答案:

答案 0 :(得分:1)

*是特殊符号,即通配符。与正则表达式类似,它告诉Solr匹配所有内容。所以查询bifidum*将返回以双歧开头的所有内容。不是你想要的,对吗?

在阅读Solr's query syntax in the manual时,您会找到一个名为为标准查询解析器指定术语的部分

  

短语是由双引号括起来的一组单词,例如" hello dolly"

这就是你需要的......