我正在调试涉及Solr-Search的应用程序中的搜索问题。 我们在schema.xml中定义了一个名为“ author”的字段。 我们看到其中带有值的文档,因此该字段看起来正确正确。 但是,当我们在这样的字段中搜索某些内容时,不会得到任何结果。
原始字段定义是这样:
<field name="author" type="string" indexed="true" stored="true" docValues="true" />
如果存在诸如“ Mad Max”之类的索引值,则“ Mad”,“ Max”或“ Mad Max”均无结果。 但是,当存在类似“ MadMax”的值时,如果我们精确搜索“ MadMax”,就会有结果。 “ madmax”或其他任何东西都不起作用。
现在,我在Solr 6的文档中阅读了以下有关内置类型“ StrField”的信息(它是“字符串”的正确类型吗?)。
字符串仅用于较小的字段,不会被标记化或 以任何方式进行分析。
https://lucene.apache.org/solr/guide/6_6/field-types-included-with-solr.html
这是否意味着type =“ string”仅适用于必须完全匹配(请参阅“不以任何方式进行分析”)的单个单词字符串(请参阅“未标记化”)?
或者是否还有其他设置可以控制“字符串”类型字段的行为,从而可以实现多字内容的部分和不区分大小写的匹配?