在Edismax中使用前导通配符时,转义的星号/查询标记不转义



我正试图使用Edismax解析器在Solr文本字段中查找包含星号/查询标记的文档。当我使用转义(fq={!edismax}textfield:*~*)搜索普通文本(fq={!edismax}textfield:*sometext*),甚至搜索任何其他特殊的Lucene字符时,一切都很完美。

但是,当搜索*fq={!edismax}textfield:***)或?fq={!edismax}textfield:*?*)时,这些字符似乎不会被转义,因为所有文档都会被返回。我也尝试对转义字符进行URL编码(比如%2A而不是*),但是结果是一样的。

这个问题似乎只涉及前导通配符,因为fq={!edismax}textfield:**fq={!edismax}textfield:?*返回正确的结果,但fq={!edismax}textfield:**fq={!edismax}textfield:*?不返回(以及fq={!edismax}textfield:*sometext*等)

如何使用带前导星号通配符的Edismax搜索*/?

引用星号对我很有用。这个查询在我的索引中找到两本书,标题中有一个独立的星号:

title:"*"

这是其中一本书的标题:"Be*Know*Do,改编自陆军官方领导手册"。

我正在使用Solr 3.3的edismax。

相关内容

  • 没有找到相关文章

最新更新