Solr wilcard searches



我想按书名搜索一本书。假设我有两本书叫

"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

参考我找到了通配符搜索:

我正在使用 solr 6。

您的查询似乎是一个短语查询,即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"

相关内容

  • 没有找到相关文章

最新更新