- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有许多基于分类索引和DocValues使用构面的示例。但是我需要将类别(分类法)和范围查询(NumericDocValuesField)一起用作层次结构。
例如DrillSideways:
DrillSideways ds = new DrillSideways (searcher, config, taxoReader);
DrillSideways.DrillSidewaysResult result = ds.search (q, topScoreDocCollector);
Facets facetsTime = new LongRangeFacetCounts (..., FacetsCollector, ...);
facetsTime.getTopChildren (...);
最佳答案
DrillSideways
假定您仅使用TaxonomyFacets或SortedSetDocValuesFacets。如果不是这种情况,则可以继承DrillSideways的子类,并覆盖buildFacetsResult
方法来构建最终的Facet(如果您愿意)。对于您添加到DrissSideways中的每个暗角,您将获得用于DrillDownQuery的FacetsCollector和两个带有侧面FacetCollectors和暗角的数组。
这是一个例子:
public class MyDrillSideways extends DrillSideways {
public MyDrillSideways(IndexSearcher searcher, FacetsConfig config, TaxonomyReader taxoReader) {
super(searcher, config, taxoReader);
}
@Override
protected Facets buildFacetsResult(FacetsCollector drillDowns, FacetsCollector[] drillSideways, String[] drillSidewaysDims) throws IOException {
String longRangeFacetDim = "mySpecialLongRangeDim";
Facets drillDownFacets = new FastTaxonomyFacetCounts(taxoReader, config, drillDowns);
boolean foundLongRangeInDrillSideways = false;
Map<String, Facets> drillSidewaysFacets = new HashMap<>();
if (drillSideways != null) {
for (int i = 0; i < drillSideways.length; i++) {
String sidewaysDim = drillSidewaysDims[i];
FacetsCollector drillSideway = drillSideways[i];
Facets sidewaysFacets;
if (sidewaysDim.equals(longRangeFacetDim)) {
foundLongRangeInDrillSideways = true;
sidewaysFacets = new LongRangeFacetCounts(...,drillSideway,...);
} else {
sidewaysFacets = new FastTaxonomyFacetCounts(taxoReader, config, drillSideway);
}
drillSidewaysFacets.put(sidewaysDim, sidewaysFacets);
}
}
if (!foundLongRangeInDrillSideways) {
Facets facetsTime = new LongRangeFacetCounts(..., FacetsCollector, ...);
drillSidewaysFacets.put(longRangeFacetDim, facetsTime);
}
return new MultiFacets(drillSidewaysFacets, drillDownFacets);
}
}
关于solr - Lucene同时使用分类法和DocValues方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29356341/
我正在使用和使用 Lucene 来索引我们的数据,我遇到了一些关于 DocValues 字段的奇怪行为。 所以,任何人都可以解释一下常规文档字段(如 StringField 、 TextField 、
我将一个文档字段更改为可按搜索排序,但现在 addDocument() 抛出一个异常,指出该字段值为空,尽管我验证了 email 是一个非空字符串,当我添加字段。在异常发生之前,Lucene 代码正在
我正在尝试使用 Solr 实现不区分大小写的排序并面临 this issue . [已复制] ....But When I get search result its not sorted case
我正在使用 Lucene 5.2.1 内置的搜索引擎,但我在搜索的排序更新选项方面遇到了问题。使用排序选项搜索时出现错误: Exception in thread "main" java.lang.I
我正在向文档中添加一个 DocValue doc.add(new BinaryDocValuesField("foo",new BytesRef("bar"))); 要检索 ID 为 docId 的特
我刚刚使用 Lucene 5.5.0 实现对 JSF Web 应用程序的搜索。在应用程序中,多个用户可以编辑文档,并且将创建非常简单(仅日期和用户名)的编辑日志。示例: 2017-02-10 user
我是一名优秀的程序员,十分优秀!