Solr可以准确搜索关键词吗?

Jam*_*ang 1 lucene solr

例如:我想搜索"支持",我希望它只返回包含"支持"的结果,并且不返回包含"支持"或任何其他相关匹配的结果.

有可能像这样实施吗?

谢谢.

Mau*_*fer 7

是的,如果您搜索未分析的字段类型,则匹配是准确的.在默认的Solr模式中,未分析的字段类型名为"string"(类"solr.StrField")

编辑:这取决于你的意思"准确".如果您的字段值是"支持服务台"而您的查询是"支持",那么它是否匹配?

  • 如果您的答案是肯定的,那么您应该考虑配置词干.
  • 如果您的答案为否,即查询必须与字段值匹配而不是其他内容,那么您应该使用字符串(即未分析的)字段类型.

此外,如果您的查询是"支持"且字段值为"支持",它是否匹配?

  • 如果您回答是,那么您应该使用LowerCaseFilterFactory(您不能在字符串字段类型上执行此操作,您必须切换到文本字段类型).
  • 如果你回答否,那么可以使用字符串字段类型.

总之,Lucene/Solr文本分析管道是非常可配置的,请查看分析器文档以获取所有可用选项的参考.