如何在Sunspot Solr中搜索动态字段数据及查询自定义动态字段
Sunspot Solr动态字段搜索方法
1. 在Rails代码中通过Sunspot搜索动态字段
你可以借助Sunspot的dynamic方法指定动态字段前缀,结合目标字段名编写查询逻辑。针对你存储的custom_special_abc_ss字段(Solr实际生成的动态字段规则为custom_<key>_ss,对应代码里的dynamic_string :custom配置),示例代码如下:
精确匹配
Model.search do dynamic :custom do with :special_abc, "abc" end end
模糊匹配
如果需要做全文模糊匹配,可结合fulltext指定动态字段:
Model.search do fulltext "abc" do fields(:custom_special_abc) end end
2. 在Solr查询界面中查询动态字段
直接使用Solr标准查询语法,指定完整字段名即可:
- 精确匹配:
custom_special_abc_ss:"abc" - 模糊匹配(包含目标内容):
custom_special_abc_ss:*abc* - 匹配所有
custom前缀的动态字符串字段:custom_*_ss:"abc"
注意:Solr生成的动态字段名遵循前缀_键名_类型后缀规则,这里的前缀是你定义的custom,类型后缀_ss对应字符串类型,需确保查询时使用正确的字段名。
内容的提问来源于stack exchange,提问作者Uday Magdum
相关产品推荐
相关产品推荐

