about lucene grouping and facet history

2019-03-27 01:07|来源: 网路

http://www.searchworkings.org/blog/-/blogs/result-grouping-field-collapsing-with-solr/

alsk named as  Field Collapsing 

 

this is different with facet,

when you first glance ,you'll problely confused about this two concept

http://www.searchworkings.org/blog/-/blogs/search-result-grouping-field-collapsing-in-lucene-solr/

http://stackoverflow.com/questions/8550818/whats-the-difference-between-grouping-and-facet-in-lucene-3-5




转自:http://www.cnblogs.com/lexus/archive/2011/12/18/2292082

相关问答

更多
  • lucene怎么用[2022-07-03]

    Lucene是一个全文检索系统框架,开源的。 用起来比较方便,去Lucene的官网上下一个包并导入到你的工程中就可以调用包里面的类了。 一般的书里面介绍的版本都是1.4.3或者稍微高级一点的,不过现在lucene3.0正式发布,一些函数调用方法已经改变了,你可以下载一个版本低一点的Lucene比较适合学习~ 当然你直接从3.0入手的话网上资料也是非常丰富的~
  • 我无法通过Solr或插件配置找到这样做的方法,所以我开发了一种方法来有效地创建组构面计数,同时仍然使用CollapsingQParserPlugin。 我这样做是通过复制我将要面对的字段并确保整个组的所有方面值都在每个文档中,如下所示: "docs": [ { "id": "1", "workId": "abc", "type": "book", "facetType": [ "book", "ebook" ] }, { " ...
  • 此错误是由于您使用$和数据框名称引用aes()变量这一事实引起的。 使用ggplot()您应该只在aes()使用变量名称,因为数据帧已在data=命名。 plot = ggplot(data = item.household.descr.count, mapping = aes(x=freq, y = descr, color = age.cat)) + geom_point() plot = plot + facet_wrap(~ age.cat, ncol = 2) ...
  • 如果您期望您的实体经常更改,则更容易索引ID,并且当您得到结果时,请在数据库中查找以获取颜色的名称。 这种方式改变颜色不会要求索引中更新受影响的文档。 在我们的系统中,我们将索引ID的Lucene而不是实体的名称,这正是由于您陈述的原因。 另外,我们的实体有一些与它们相关的属性,这些属性没有编入索引,所以我们必须打开数据库才能获取它们。 就性能而言,ID的面对将不会明显更慢或更快。 就数据库查询而言,这应该不是什么大问题,特别是如果你一次只能拉下数十个方面的话。 如果它成为一个问题,你总是可以使用缓存来加速 ...
  • 好的,这里有一些关于我如何解决这个问题的见解: 如果您只想使用Lucene(如问题中所述),您只能在以下情况下执行此操作: 您需要的所有字段也都存储在原始索引中。 如果存在仅被索引(并且未存储)的字段,则无法恢复它们以便在新索引中重新索引它们(使用构面) 您还必须了解用于创建原始索引的分析器和用于创建查询的分析器: 在创建新索引时,需要原始索引时分析器才能获得相同的术语(来自存储的值) 在创建对原始索引的查询时,在各种QueryParsers上使用的分析器需要能够为新索引重新构造相同的查询 所有这一切,我注 ...
  • 不,这不是它的意思。 首先,隐含了外部+。 不会返回任何与之匹配的结果。 因此,在没有任何其他术语的情况下,该查询与之相同 content:#b content:#a +content:#c 或者:必须匹配内容:#c,以及可选的内容:#b和/或内容:#a 您提供的含义相当于: (+content:#a +content:#b) content:#c No, that is not what it means. Firstly, the outer + is implied. Results won't ...
  • 区间分面不是范围信号 - 它们是不同的概念。 当facet.mincount被认为是限制范围时,这不适用于间隔。 我的猜测是,原因在于,由于您在使用facet.intervals时自己提供了所有间隔,因此您希望计算您告诉Solr为您提供的所有时间间隔。 然而,区域刻面可以让您用开始和结束参数给出一个间隙,从而为您提供可能非常大的一组潜在值。 Interval facets are not range fancets - they are different concepts. When facet.minc ...
  • 关于你的第一个问题,应用一个方面不会修改原始查询,它使用一个名为FacetCollector的自定义收集器 - 请参阅https://github.com/hibernate/hibernate-search/blob/master/engine/src/main/java/ org / hibernate / search / query / collector / impl / FacetCollector.java 。 在引擎盖下,收集器使用Lucene FieldCache进行构面计数。 多值分面的 ...
  • 在改变它时不应该有任何问题。 但请记住,当搜索结果很大但是方面计数不超过某个数字时,使用Bitsets (由Bitsets内部完成)会更Bitsets 。 (假设1000个方面10M命中) 如果你有更多的方面,但搜索结果不是很大,你可以迭代结果(在收集器中)并创建方面。 这样您可以获得更好的性能。 (说100K刻面1000次点击) 因此,2048可能是优化的数字,超过它可能导致性能损失。 No there should't be any issue in changing it. But remember ...
  • 好吧,我能够自己解决这个问题。 如果要使用基准模块,则必须通过以下方式编辑Makefile: 1.找到JARS部分,项目如下: JARS+=$(ANALYZERS_JAR) # many language analyzers 在JARS+=$(SPATIAL)之前删除注释,现在添加以下行: JARS+=$(BENCHMARK_JAR) # benchmark module` 2.找到项目外观的JAR路径部分 LUCENE_JAR=$(LUCENE)/build/co ...