2

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

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

该问题似乎仅与前导通配符有关,因为fq={!edismax}textfield:\**andfq={!edismax}textfield:\?*返回正确的结果,但不(以及fq={!edismax}textfield:*\*等)。fq={!edismax}textfield:*\?fq={!edismax}textfield:*sometext\*

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

4

1 回答 1

0

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

title:"*"

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

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

于 2012-04-04T19:44:30.697 回答