太阳黑子solr属性子字符串/通配符搜索



是否可以使用子字符串/通配符/部分字符串匹配搜索solr属性字段(非solr.TextField类型)?

例如,如果我有一个solr.StrField字段和包含字符串"1234567890"的文档,我希望能够搜索"456"并返回该文档。

从我可以看到只有文本字段可以在这个方法中使用像EdgeNGram之类的东西搜索,但不是属性字段??

您可以为字符串以及通配符的文本字段设置部分匹配。

如果您正在使用的查询解析器,支持先导通配符查询,您可以轻松地搜索*456*,这应该匹配1234567890。

然而,EdgeNGram只适用于solr.TextField,因为solr.strField不允许添加分析器。
因此,您只能定义类为solr.TextField的字段,并在分析链中使用EdgeNGram,这将把索引的术语分解成块以进行部分匹配。

最新更新