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

Search 太阳黑子solr属性子串/通配符搜索,search,solr,sunspot,Search,Solr,Sunspot,是否可以使用子字符串/通配符/部分字符串匹配来搜索solr属性字段(非solr.TextFieldtypes) 例如,如果我有一个solr.StrField字段和包含字符串“1234567890”的文档,我希望能够在“456”上搜索并返回该文档 据我所见,在这种方法中,只能使用EdgeGram之类的东西搜索文本字段,而不能搜索属性字段???您可以使用字符串的部分匹配以及通配符的文本字段 如果您使用的查询解析器支持前导通配符查询,则可以轻松搜索*456*,这应该与1234567890匹配 但是,e

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

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


据我所见,在这种方法中,只能使用EdgeGram之类的东西搜索文本字段,而不能搜索属性字段???

您可以使用字符串的部分匹配以及通配符的文本字段

如果您使用的查询解析器支持前导通配符查询,则可以轻松搜索
*456*
,这应该与1234567890匹配

但是,
edengram
仅适用于
solr.TextField
,因为
solr.strField
不允许向其添加分析仪。

因此,您只能将类为
solr.TextField
的字段定义为,并在分析链中使用
edengram
,这将把索引项分解为带状,以便进行部分匹配。

是否有支持前导通配符的查询解析器?我还没有遇到一个。ExtendedDemax查询解析器支持它。SetAllowReadingWildcard(true)为此标记为true。