Solr fields sorting 排序相关(Integers, Longs, Floats, or String and multi-language 多语言相关)
2014-07-18 22:49
375 查看
Solr 如何解析query url中的sort参数,可见以下代码的调用顺序(https://github.com/scholarslab/SolrSearch/issues/25):
org.apache.solr.core.SolrCore - org.apache.solr.common.SolrException: can not sort
on multivalued field: 40_s
at org.apache.solr.schema.SchemaField.checkSortability(SchemaField.java:161)
at org.apache.solr.schema.FieldType.getStringSort(FieldType.java:527)
at org.apache.solr.schema.StrField.getSortField(StrField.java:40)
at org.apache.solr.schema.SchemaField.getSortField(SchemaField.java:144)
at org.apache.solr.search.QueryParsing.parseSort(QueryParsing.java:385)
at org.apache.solr.search.QParser.getSort(QParser.java:251)
at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:102)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:173)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1372)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252)
QueryParsing.parseSort
最终返回 org.apache.lucene.search.Sort 对象:
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/4.2.0/org/apache/lucene/search/Sort.java#Sort
其中对String类型的排序顺序默认是natural
order,也就是The comparison is based on the Unicode value of each character in the strings.
那么,如何处理多语言情况下的String排序呢?参见
http://wiki.apache.org/solr/UnicodeCollation http://solr.pl/en/2011/04/11/car-sale-application-%E2%80%93-unicode-collation-sorting-text-in-a-language-sensitive-way-part-4/ http://docs.oracle.com/javase/7/docs/api/java/text/Collator.html
org.apache.solr.core.SolrCore - org.apache.solr.common.SolrException: can not sort
on multivalued field: 40_s
at org.apache.solr.schema.SchemaField.checkSortability(SchemaField.java:161)
at org.apache.solr.schema.FieldType.getStringSort(FieldType.java:527)
at org.apache.solr.schema.StrField.getSortField(StrField.java:40)
at org.apache.solr.schema.SchemaField.getSortField(SchemaField.java:144)
at org.apache.solr.search.QueryParsing.parseSort(QueryParsing.java:385)
at org.apache.solr.search.QParser.getSort(QParser.java:251)
at org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:102)
at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:173)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1372)
at org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:356)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:252)
QueryParsing.parseSort
最终返回 org.apache.lucene.search.Sort 对象:
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/4.2.0/org/apache/lucene/search/Sort.java#Sort
其中对String类型的排序顺序默认是natural
order,也就是The comparison is based on the Unicode value of each character in the strings.
那么,如何处理多语言情况下的String排序呢?参见
http://wiki.apache.org/solr/UnicodeCollation http://solr.pl/en/2011/04/11/car-sale-application-%E2%80%93-unicode-collation-sorting-text-in-a-language-sensitive-way-part-4/ http://docs.oracle.com/javase/7/docs/api/java/text/Collator.html
相关文章推荐
- 字符串排序和多字段排序(string sorting and multi-fields)
- 比较,排序,搜索字符串对象( Comparing, Sorting, and Searching String Objects )CFString
- 学习.NET (2) 语言和国家地区 下 Language and Region (2nd Half)
- ASP.NET 2.0 Language Swithcer and Theme Swicher 多语言转换和多样式主题转换
- Lucene多字段排序备忘(Sorting by multiple fields)
- 实用报表提取语言 Perl : Practical Extraction and Report Language
- ASP.NET 2.0 Language Swithcer and Theme Swicher 多语言转换和多样式主题转换
- Razor MVC Multi-language 多语言系统的实现的问题
- PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
- solr 失误的空格 空格是or还是and
- How to build Multi-Language Web Sites with ASP.NET 2.0 and VS.Net 2005
- ASP.NET 2.0 Language Swithcer and Theme Swicher 多语言转换和多样式主题转换
- How to build Multi-Language Web Sites with ASP.NET 2.0 and VS.Net 2005
- 执行显示客户下拉列表时出现:syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
- Correction: JSTL and expression language problem: According to TLD or attribute directive in tag file, attribute value does not
- ASP.NET 2.0 Language Swithcer and Theme Swicher 多语言转换和多样式主题转换
- Display标签外部排序与分页(External Paging and Sorting)
- DNN的多语言支持 - Enabled multi language in DNN
- python中使用and和or来实现其它语言中的?号表达式
- LINUX+ORACLE 字符集 语言 相关区别:LANG NLS_LANG NLS_LANGUAGE characterset