在 AppEngine Java 上按日期字段对全文进行结果排序。如何?使用SDK 1.6.6部署。 (所有这些都在本地计算机上有效,但在部署时无效)
错误:g-(IndexImpl.java:277)com.google.appengine.api.search.IndexImpl$3.wrap> null
没有结果使用此:按日期排序,默认值“2000-01-01”
SortOptions sortOptions = SortOptions.newBuilder().addSortExpression(SortExpression.newBuilder().setExpression("日期").setDirection(SortExpression.SortDirection.DESCENDING).setDefaultValue("2000-01-01")).set` Limit(limit).build();
没有结果使用此:按日期排序,默认值“”
SortOptions sortOptions = SortOptions.newBuilder().addSortExpression(SortExpression.newBuilder().setExpression("日期").setDirection(SortExpression.SortDirection.DESCENDING).setDefaultValue("")).setLimit(limit).build( );
是 - 使用此结果:按主题排序
SortOptions sortOptions = SortOptions.newBuilder().addSortExpression(SortExpression.newBuilder().setExpression("subject").setDirection(SortExpression.SortDirection.DESCENDING).setDefaultValue("")).setLimit(limit).build( );
最佳答案
如果您在日期字段排序表达式中使用.setDefaultValueNumeric()
,这应该可以工作,例如.setDefaultValueNumeric(0.0)
.
这是一种解决方法——除了字符串和数字字段的现有方法之外,还应该有一个“设置默认值”方法来对日期字段进行排序。已提交内部问题以将其添加到 API。
关于java - AppEngine Java 全文。按日期排序适用于本地计算机,但未部署(SDK 1.6.6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10837243/