使用Solr 4.0,我有一个字段Title_t(用于存储书籍的标题),它是TextField类型。假设这些是我的db中存储的以下标题:
如果想要搜索标题"物理指南",那么可以使用 Title_t:物理G * 这显示了所有结果
现在,我的问题:
为什么过滤器不仅仅显示"物理指南"结果? 由于搜索标准是"物理G *"而不是" *物理G *",只应显示一个结果。有没有办法在搜索关键字中保留顺序?
答案 0 :(得分:0)
解析后,您的查询Title_t:physics G*
将变为
Title_t:physics df:G*
df这里是默认字段(通常是文本,检查配置文件)。 和默认运算符将OR。所以它返回的文件标题为具有术语'物理学'和任何字段的文档复制默认字段,单词以G开头。
尝试 ComplexPhraseQueryParser
q={!complexphrase inOrder=true}Title_t:"physics G*"