我已经实现了Solr 7.6索引并填充了它。我的第一个架构很简单……
{“add-field”:[{ “名字”:“名字”, “type”:“text_en”, “索引”:是的, “存储”:是的},{ “名称”: …
从您尝试使用通配符开始,我假设您选择了错误的类型。您正在搜索单词的字符片段,通常使用 n元语法 。
对于你的问题,为什么这不会发生。 Solr不会在通配符时立即分析文本( * , ? )出现在其中。但是,由于您的字段使用分析的类型,索引的内容与查询的内容不匹配。你可以使用 分析屏幕 你的Solr实例检查这个。
*
?
作为一般的经验法则,当您开始使用通配符时,您正在做一些可以使用正确的标记器和过滤器更好地完成的事情。当您喜欢使用通配符时,您仍然会考虑源自非索引系统的模式 - 例如像在SQL数据库中的查询。在我开发的系统中,我们很快就开始从用户输入中删除通配符并用空格替换它们,以避免这种串通。