什么 Solr 字段类型提供基本的通配符搜索?
What Solr field type provides basic wildcard searches?
我发布了一个字段值为 "Pineapple upside down cake." 的文档 我想获得 pineapple
、pine*
、*side
、pi?????le
、upside down
,等等。我选择了 text_en
,它没有找到 *side
,也没有找到 pi?????le
。
哪种开箱即用字段类型会为我提供上述所有匹配项?
我正在使用 Solr 7.6。
如果您想保留所有标记(正如我对您之前关于此问题的评论,text_en
类型包含词干分析器),请使用仅包含 WhitespaceTokenizer 和 LowercaseFilter 的字段类型。您必须自己定义此字段。
我猜你可以使用 text_general
来获得足够好的答案(它使用 StandardTokenizer,因此它会拆分更多的情况而不仅仅是空格)。
原因是通配符搜索是在没有进行大部分处理的情况下发生的(因为当您没有完整的令牌时,不可能正确处理词干提取、拆分等),因此任何通配符搜索都是反对的处理后生成的令牌列表。
我发布了一个字段值为 "Pineapple upside down cake." 的文档 我想获得 pineapple
、pine*
、*side
、pi?????le
、upside down
,等等。我选择了 text_en
,它没有找到 *side
,也没有找到 pi?????le
。
哪种开箱即用字段类型会为我提供上述所有匹配项?
我正在使用 Solr 7.6。
如果您想保留所有标记(正如我对您之前关于此问题的评论,text_en
类型包含词干分析器),请使用仅包含 WhitespaceTokenizer 和 LowercaseFilter 的字段类型。您必须自己定义此字段。
我猜你可以使用 text_general
来获得足够好的答案(它使用 StandardTokenizer,因此它会拆分更多的情况而不仅仅是空格)。
原因是通配符搜索是在没有进行大部分处理的情况下发生的(因为当您没有完整的令牌时,不可能正确处理词干提取、拆分等),因此任何通配符搜索都是反对的处理后生成的令牌列表。