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

时间:2012-04-02 13:59:01

标签: solr escaping wildcard edismax

我正在尝试使用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搜索* / ?

1 个答案:

答案 0 :(得分:0)

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

title:"*"

以下是其中一个的标题:“Be * Know * Do,改编自官方军队领导手册”。

我正在使用带有Solr 3.3的edismax。