Solr 转义双 quotes/exact 匹配(Django 通过 Scorched/Sunburnt)
Solr escapes double quotes/exact match (Django via Scorched/Sunburnt)
我正在通过 Scorched 使用 Django 查询 Solr 5.3 实例。就我不询问完全匹配查询而言,这一切都很好。也就是说,
q=something something else
returns 与以下结果完全相同:
q="something something else"
据我所知,罪魁祸首是 Django 向 Solr 抛出的实际查询。事实上,对于第二种情况,这是:
q=\"something\+something\+else\"
因此,换句话说," 字符被转义了。我说得对吗?当我在双引号之间查询某些内容时,我如何告诉 Solr 我想要一个完全匹配?
在 Solr 管理网页中一切正常,也就是说,如果我搜索 "something something else",我会得到正确的结果。
我不确定这是否是 Scorched/Sunburnt 问题。它与filters/tokenizers(例如solr.MappingCharFilterFactory)有关吗?
谢谢
我在 Github 上从 Scorched 的人那里收到了这个:
from scorched.strings import DismaxString
...
solr.query(q=DismaxString('"something something else"')
Scorched will not escape any characters inside a DismaxString....
希望对其他人有所帮助。
我正在通过 Scorched 使用 Django 查询 Solr 5.3 实例。就我不询问完全匹配查询而言,这一切都很好。也就是说,
q=something something else
returns 与以下结果完全相同:
q="something something else"
据我所知,罪魁祸首是 Django 向 Solr 抛出的实际查询。事实上,对于第二种情况,这是:
q=\"something\+something\+else\"
因此,换句话说," 字符被转义了。我说得对吗?当我在双引号之间查询某些内容时,我如何告诉 Solr 我想要一个完全匹配?
在 Solr 管理网页中一切正常,也就是说,如果我搜索 "something something else",我会得到正确的结果。
我不确定这是否是 Scorched/Sunburnt 问题。它与filters/tokenizers(例如solr.MappingCharFilterFactory)有关吗?
谢谢
我在 Github 上从 Scorched 的人那里收到了这个:
from scorched.strings import DismaxString ... solr.query(q=DismaxString('"something something else"')
Scorched will not escape any characters inside a DismaxString....
希望对其他人有所帮助。