cassandra 无法将全名与Solr中的空格匹配

v09wglhw  于 12个月前  发布在  Cassandra
关注(0)|答案(1)|浏览(99)

下面是schema.xml

<field indexed="true" multiValued="false" name="name"type="StrField"/>

这是我用来搜索的URL

/solr/mycore/select?q=name:John Smith&fl=\*&wt=json&indent=true

下面是错误:

Status 400
msg:no field name specified in query and no default specified via 'df' param

但是,我可以使用“name:John*”来获取所有以John开头的名称。我知道这与令牌化有关,但不确定我需要改变什么。名字和姓氏之间的空格导致精确匹配出现问题。
StrField是“字符串”的一个具体实现,所以根据我的理解,这不是问题所在
任何帮助都将不胜感激

dfty9e19

dfty9e191#

问题是您在URL中包含了一个空格字符(``)。
您需要使用%20对它进行编码以进行HTTP API访问,因此它应该看起来像:

/solr/mycore/select?q=name:John%20Smith&fl=\*&wt=json&indent=true

如果您是ApacheSolr的新手,我建议您尝试使用SolrAdmin UI执行搜索,以熟悉它的工作原理。干杯!

相关问题