Ash*_*osh 10 lucene solr solrnet
我有一个Solr索引,可以在每个产品的多值字段中存储Price.
我需要按价格对结果集进行排序,其中价格从低到高,从高到低.
我尝试使用Price它显示错误排序您无法对多值=真实字段进行排序.
下面是我的solr XML
<arr name="sellprice">
<float>195.0</float>
<float>136.5</float>
<float>10.0</float>
</arr>
Run Code Online (Sandbox Code Playgroud)
在schema.xml中
<field name="sellprice" type="float" indexed="true" stored="true" multiValued="true"/>
Run Code Online (Sandbox Code Playgroud)
在C#代码中
ISolrQueryResults<ProductTest2> powerArticles = solr.Query(new
SolrQuery("WebCategory_Id:10") && new SolrQueryInList("FilterID",
146), new QueryOptions { FilterQueries = new[] { new
SolrQueryByRange<decimal>("sellprice", 10, 40) }, OrderBy = new[] {
new SolrNet.SortOrder(sellprice, desc) } });
Run Code Online (Sandbox Code Playgroud)
有人可以用一些好的例子解释一下吗?
Jay*_*dra 14
使用Solr对多值字段进行排序不能正常工作.
文档
可以在文档的"得分"上进行排序,或者在任何multiValued ="false"indexed ="true"字段上进行排序,前提是该字段是非标记化的(即:没有分析器)或使用仅生成分析的分析器单个术语(即:使用KeywordTokenizer)
当您想要将产品从低到高或从高到低排序时,Solr选择什么价格?从示例中您的卖出价为0以及195?
您必须将最高和最低卖价保存为单值字段,并使用这些字段进行排序.
highest_sell_price=195
lowest_sell_price=0
Run Code Online (Sandbox Code Playgroud)
并使用这些字段进行排序.
| 归档时间: |
|
| 查看次数: |
14408 次 |
| 最近记录: |