我有这个问题。我的查询就是这样
http://localhost:8983/solr/archiveCore/select?q=strSO:EV11777-01 AND DocType:LLP AND PackName:06 Delivery Documents - MiniPack
字段(strSO,PackName,DocType)的类型为 string 。字段类型最初是 text_general 。但是我必须使它们成为 string 。在更改字段类型之前,查询工作正常。但是当我执行 string 时,查询响应什么也没给我。这是怎么了 这是我的查询响应
{
"responseHeader":{
"status":0,
"QTime":4,
"params":{
"q":"strSO:EV11777-01 AND DocType:LLP AND PackName:06 Delivery Documents - MiniPack"}},
"response":{"numFound":0,"start":0,"docs":[]
}}
答案 0 :(得分:1)
这是怎么了?
这取决于您的字段内容。 请记住,类型=字符串的字段不会被标记化!
请参阅solr文档:https://lucene.apache.org/solr/guide/7_3/field-types-included-with-solr.html(类StrField)
字符串(UTF-8编码的字符串或Unicode)。字符串用于较小的字段,不以任何方式标记或分析。它们的硬限制略小于32K。
因此,仅当字段内容与查询内容完全匹配时,您的查询才会与字段匹配。
例如字段内容ABC DE
与ABC DE
之类的查询不匹配(查询字母之间缺少空格)
我建议使用solr管理员页面中的solr分析功能,以了解solr如何处理查询。您会在以下网址找到此功能:http://:8983 / solr /#// analysis