我现在正在使用solr进行查询。我想找到所有文件,其关键字“title”包含文本“Bifidobacterium bifidum”或关键字“abstract”包含文本“Bifidobacterium bifidum”。所以,我写下我的查询如下:
String queryCondition = "title:*Bifidobacterium bifidum* OR abstract:*Bifidobacterium bifidum*";
从结果中,我发现返回的结果不是我想要的,标题包含“双歧杆菌”或“双歧杆菌”,或其标题包含“双歧杆菌”或“双歧杆菌”的文件全部归还。所以,我的问题是,我应该如何编写查询以满足我的查询需求?
答案 0 :(得分:1)
*
是特殊符号,即通配符。与正则表达式类似,它告诉Solr匹配所有内容。所以查询bifidum*
将返回以双歧开头的所有内容。不是你想要的,对吗?
在阅读Solr's query syntax in the manual时,您会找到一个名为为标准查询解析器指定术语的部分
短语是由双引号括起来的一组单词,例如" hello dolly"
这就是你需要的......