我是SOLR的新手,我希望按标签订购搜索结果。 在SOLR文档中存储标记的最佳做法是什么?字段类型设置的最佳做法是什么?
这是我当前的方法,其中标记存储在逗号分隔列表中。搜索是针对“脚本”但这种设置似乎不会产生准确的结果:
[0] => Solarium\QueryType\Select\Result\Document Object
(
[fields:protected] => Array
(
[id] => 4912
[description] => Neuarmy™ » YYY_NEUARMY_YES02
[tags] => type,texture,script
[save_date] => 1345825890
[score] => 1.4771256
)
)
[1] => Solarium\QueryType\Select\Result\Document Object
(
[fields:protected] => Array
(
[id] => 1223
[description] => Timbas Type & Logo Dept.
[tags] => typography,logo,branding,script
[save_date] => 1342703206
[score] => 1.4771256
)
)
[2] => Solarium\QueryType\Select\Result\Document Object
(
[fields:protected] => Array
(
[id] => 1323
[description] => ibg1pE.jpg 300×200 pixels
[tags] => logo,script,interview magazine
[save_date] => 1352914647
[score] => 1.4771256
)
)
答案 0 :(得分:1)
另请参阅以下链接以便更好地理解。 https://cwiki.apache.org/confluence/display/solr/Documents,+Fields,+and+Schema+Design
答案 1 :(得分:1)
您应该选择multiValued
类型的string
字段。字符串字段存储没有预索引格式化的值,multiValued允许多个值。
然后为标签制作php传递数组(“排版”,“标识”,“品牌”,“脚本”)。然后索尔将认识到它们是多重价值。