我正在尝试使用Edismax解析器在Solr文本字段中查找包含星号/查询标记的文档。当我使用转义(fq={!edismax}textfield:*sometext*
)搜索常用文本(fq={!edismax}textfield:*\~*
)或任何其他special Lucene character时,一切都很完美。
但是,在搜索*
(fq={!edismax}textfield:*\**
)或?
(fq={!edismax}textfield:*\?*
)时,这些字符似乎不会被转义,因为所有文件都会被退回。我还尝试URL encoding获取转义字符(例如\%2A
而不是\*
),但结果是相同的。
此问题似乎仅涉及前导通配符,因为fq={!edismax}textfield:\**
和fq={!edismax}textfield:\?*
会返回正确的结果,但fq={!edismax}textfield:*\*
和fq={!edismax}textfield:*\?
不会(以及fq={!edismax}textfield:*sometext\*
等等。)。
如何使用带前导星号通配符的Edismax搜索*
/ ?
?
答案 0 :(得分:0)
引用星号对我有用。此查询在我的索引中找到两本书,标题中包含一个独立的星号:
title:"*"
以下是其中一个的标题:“Be * Know * Do,改编自官方军队领导手册”。
我正在使用带有Solr 3.3的edismax。