Solr wilcard搜索

时间:2016-05-27 10:08:58

标签: solr wildcard solr-query-syntax

我想按照标题搜索一本书。可以说我有2本书叫

"Please do a wildcard search"
"Please do a deep search"

然后我执行solr通配符搜索,如下所示:

{
  "responseHeader":{
    "status":0,
    "QTime":1,
    "params":{
      "q":"BOOK_NAME:\"Please*search\"",
      "indent":"on",
      "wt":"json"}},
  "response":{"numFound":0,"start":0,"docs":[]
  }}

我期待这次搜索中有2本书,但发现的文件数量是0

Reference我找到了通配符搜索:

我正在使用solr 6.

1 个答案:

答案 0 :(得分:1)

您的查询似乎是一个词组查询,即BOOK_NAME:"Please*search"而不是BOOK_NAME:Please*search。这将尝试找到确切的短语请*搜索

此外,除非您以保留整个标题作为令牌的方式为BOOK_NAME编制索引,否则我认为该查询无效。尝试将字段索引为字符串,或者尝试使用ComplexPhraseQueryParser

  

ComplexPhraseQParser支持通配符,OR等,   使用Lucene的ComplexPhraseQueryParser进行短语查询。下   封面,这个查询解析器使用Span组查询,   例如,spanNear,spanOr等,并受到相同的限制   作为那个家庭或解析者

{!complexphrase inOrder=true}BOOK_NAME:"Please*search"{!complexphrase inOrder=true}BOOK_NAME:"Please * search"