假设您有一个查询:
(apples OR oranges) AND fresh location:cityGoesHere
默认情况下,haystack 使用 auto_query,其中数据会自动转义,因此搜索将被记录为:
INFO: [collection1] webapp=/solr path=/select/ params={spellcheck=true&facet=on&fl=*+score&start=0&q=(\(apples+or+oranges\)+and+fresh+location\:cityGoesHere)&spellcheck.count=1&...
当然,Solr 会将 "("、")" 和 ":" 字符视为文字,因此不会进行分组,并且将根据默认字段搜索整个文本,并且将忽略位置字段
有没有什么方法可以通过 haystack 实现高级 solr 搜索,除了解析查询并将其中的不同部分分配给 AutoQuery、Raw、Exact 输入类型(如认为合适),然后将 SearchQuerySets 链接在一起?