我很拼命,因为一个简单的Solr查询无法正常工作,因为我期望它能正常工作。 也许我想念什么?可能是我的Solr配置缺少了什么吗?请快速浏览。
我使用solr 7.6版本,并使用管理GUI中的内置查询工具。
这是显示四个简单文档的结果。
{
"responseHeader":{
"status":0,
"QTime":1,
"params":{
"q":"id:product_*",
"fl":"id,user_s",
"_":"1567779605014"}},
"response":{"numFound":4,"start":0,"docs":[
{
"id":"product_1",
"user_s":"rjKv1opWMLYQ"},
{
"id":"product_5",
"user_s":"rjKv1opWMLYQ"},
{
"id":"product_7",
"user_s":"plOG1Pv0gQvk"},
{
"id":"product_8",
"user_s":"plOG1Pv0gQvk"}]
}}
我想查询ID = product_1或user_s = rjKv1opWMLYQ的文档。我希望得到2个结果,其中id = product_1的文档和id = product_5的文档。但是使用查询字符串id:product_1 OR user_s:rjKv1opWMLYQ
,我得到了以下内容。
{
"responseHeader":{
"status":0,
"QTime":1,
"params":{
"q":"id:product_1 OR user_s:rjKv1opWMLYQ",
"fl":"id,user_s",
"_":"1567779605014"}},
"response":{"numFound":1,"start":0,"docs":[
{
"id":"product_1",
"user_s":"rjKv1opWMLYQ"}]
}}
与查询字符串id:product_1 user_s:rjKv1opWMLYQ
,id:product_1 AND user_s:rjKv1opWMLYQ
,id:product_1 && user_s:rjKv1opWMLYQ
和id:product_1 || user_s:rjKv1opWMLYQ
完全相同。
两个字段的字段架构如下。
<field name="id" type="string" indexed="true" stored="true" required="true" />
<dynamicField name="*_s" type="string" indexed="true" stored="true" docValues="true" multiValued="false" />
通用类型架构在这里:https://pastebin.com/Hs1Jnrin
常规字段模式在这里:https://pastebin.com/N91bDXcE
这是怎么回事?