我的SOLR索引中包含很多文件。这些文档包含一个包含JSON数据的字段。
当我使用关键字执行查询时,我希望也搜索该JSON字段。现在它不起作用。
查询:
{
"responseHeader":{
"status":0,
"QTime":0,
"params":{
"q":"keyword_to_search",
"defType":"edismax",
"qf":"title^300",
"fl":"field_name:[json]",
"wt":"json",
"_":"1551735180672"
}
},
"response":{
"numFound":0,
"start":0,
"docs":[]
}
}
有些实际文档包含一个带有数据“ keyword_to_search”的JSON字段。
"field_name":"{\"field_key\": \"keyword_to_search\"}",
该字段似乎是可搜索的,因为我可以在查询时返回文档:
{
"responseHeader":{
"status":0,
"QTime":0,
"params":{
"q":"{!term f=field_name}keyword_to_search",
"_":"1551735532524"
}
},
"response":{"numFound":1,"start":0,"docs":[
{
...
"field_name":"{\"field_key\": \"keyword_to_search\"}",
}
]}
}
如何修改我的查询以包括此内容?
JSON结构:
{
...
"field_name": "field_value",
"columns": [
...
{
"nested_key": "nested_value_1"
},
{
"nested_key": "nested_value_1"
},
],
}
答案 0 :(得分:2)
qf=title^300
告诉Solr应该搜索哪个字段以及赋予每个字段的权重。
qf=title^300 json
会同时搜索title
字段和json
字段,并为title
中的匹配提供比其匹配{{1 }}。