您如何强制 solr eDismax 搜索将保留字视为文字?

How do you force solr eDismax search to treat a reserved word as a literal?

我的 solr 数据中的一条记录有一个值为 "NOT 123456" 的字段。由于 "NOT" 是否定的保留字,当我发送带有

的查询时

defType=edismax&q=NOT 123456

返回所有记录 ,不包括 值 "NOT 123456" 的记录。我如何修改 "NOT" 以将其视为文字?

根据Lucene Query Syntax,你有两个选择:

  1. 如果您不需要搜索全部大写的保留字,您可以只使用小写形式。这会起作用,因为保留字只有在全部大写时才会触发。
  2. 如果您需要大写形式,您应该使用 "double quotes" 增强查询中的保留字,因为保留字仅在被空格包围时触发。