问题标签 [faceted-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4280 浏览

solr - SOLR 中的嵌套字段

我有一个关于在 solr 中创建嵌套字段的可能性的问题。谷歌搜索告诉我一些关于组的信息,但我认为它只是为了结果?

我想要的是这样的结构:

  • 类别1
    • 项目 1 (9)
    • 项目 2 (8)
  • 类别2
    • 第 3 (6) 项
  • 类别3
    • 项目 4 (23)

我试过这样的事情:

但它不起作用。

更新: 类别和项目应该分面。Everey item(=facet) 是一个类别的一部分。一个类别可以有多个或空字段。类别和项目存储在数据库中,我想动态索引它们。我只想搜索项目,类别只是文本。我将 solr 3.3 与 Tomcat 7 一起使用。

0 投票
1 回答
663 浏览

lucene - 合并多个分类索引以进行分面搜索

我计划更改我现有的 lucene 索引以使用 lucene 3.4.0 中引入的新方面。

不幸的是,文档仍然有点稀疏,所以我找不到我的问题的答案:

我创建了一个包含 800 万本书的相对较大的索引,方法是将其分成几个较小的文档组,为它们创建索引,然后使用IndexWriter.addIndexes.

这允许将工作分配给多个线程甚至计算机。

我现在想为我的索引添加分面搜索功能,但我有以下问题:如何合并/添加/加入由 LuceneTaxonmyWriter 创建的多个分类索引?

0 投票
2 回答
1514 浏览

solr - Solr 的“More like this”是否支持构面查询?

我已经能够使用 Dismax 处理程序进行刻面和突出显示。

我尝试对 More Like This results 进行分面,例如此查询:“获取类似于 '11qualcomm.doc' 的文档,其 'doc_keywords' 具有 'Communication' 作为强制性。

但结果是:

这意味着分面仅适用于q=id:"11qualcomm.doc"而不适用于 MLT 结果集。

分面是否适用于 MLT 结果集?如果是,我做错了什么?

0 投票
1 回答
906 浏览

mapreduce - RavenDb 通过对文档上的嵌套值应用谓词进行分面搜索

在 RavenDB 中,我了解当您需要计算符合特定条件的属性时,可以实现

  1. 通过针对您希望分组的那些属性名称创建构面,
  2. 然后在上述属性和 where 子句中所需的属性上创建索引。
  3. 最后使用上述索引发出查询。并使用 ToFacets 扩展实现查询。

但是,当您的 where 子句恰好包含一个针对作为文档值集合的属性的谓词时会发生什么?因为如果我将集合中的嵌套属性添加到父文档的索引中,我对父文档属性的构面计数将不准确?

例如

我的查询看起来像

更新:这是失败的测试

但是,如果我将查询更改为。(不再查询嵌套集合)

现在我在字典中得到了 3 个枚举,都带有值。

0 投票
2 回答
472 浏览

plone - 从受限制的词汇表中标记和搜索克隆内容

我想让我的编辑在几个正交词汇表上标记内容,然后有一个很好的搜索界面,让用户可以根据这些词汇表搜索内容。似乎解决方案的一部分存在

  • ATVocabularyManager - 让编辑创建不同的词汇表
  • eea.facetednavigation - 让编辑器将 ATVocabularyManger 词汇连接到搜索面板

缺少一种将新字段添加到某些内容类型的分类选项卡并使其受词汇表约束的方法。并将这些值存储和索引,以便可以搜索它们。

我知道我可以在代码中做到这一点,但我希望 TTW 可以让编辑者可以添加更多分类方法,如果他们愿意的话。我很确定肯定有一个插件可以解决这个问题,但到目前为止还没有找到。我很确定敏捷模式编辑器会解决这个问题,但我需要它来处理现有的 Plone 内容类型。

好想知道

0 投票
0 回答
390 浏览

ravendb - RavenDb 多面搜索谓词重复

鉴于我有以下课程

我的要求是为用户检索结果集并在其上显示一些方面,以获取以下语句中捕获的标准。

鉴于上述语句检索结果集,理想情况下,如果我想检索我会完成的方面,则无需更改我构建谓词的方式

在哪里我没有修改实际谓词,只更改要转到的索引和 ToFacets 扩展。

我的索引看起来像这样

这行不通。我的面空空如也。要获得给定查询要求的方面,我的查询需要修改为

位置属性已被展平的位置。相应的索引是

一些背景知识:为了简单起见,我在上面的查询语句中将谓词指定为 where 子句。在我的应用程序代码中,我在规范类中单独定义了每个谓词,使用 ioc 检索满足给定接口的所有规范,然后根据所有规范构建表达式,最后将表达式中的谓词应用于上面的查询。这给了我组合模型,如果我们有需要添加新谓词的要求,可以创建一个新的规范类,它会被 ioc 拾取并应用到任何其他类而不做任何修改

问题 ,但我不能再这样做了,正如我上面在代码中说明的那样,在检索方面时查询嵌套集合时,我的谓词会发生变化。因此,我必须两次定义这些谓词,或者将它们写在两个地方,一个用于结果集查询,另一个用于构面查询。如果需求发生变化,我将需要在两个地方更新查询。

问题 有没有办法解决这个问题,以便在涉及嵌套集合标准时可以重新使用相同的谓词来检索结果集和方面?

如果对于相同的要求,我不必以两种不同的方式编写查询,一种用于检索结果,另一种用于检索方面,那就太好了。

0 投票
2 回答
4567 浏览

solr - 检查 solr 方面查询是否大于特定的日期时间值

我在 solr 中有以下内容

现在如果我想搜索jain,我将使用这个查询

现在的问题是:我如何搜索在(大于)2011-11-01 13:00:00 或(在 2011-11-01 12:30:00 和 2011-11-01 13 之间)之后解析的条目:30:00)??
谢谢你的帮助

0 投票
1 回答
1063 浏览

django - Django Haystack - 如何在模板中显示 date_facet?

我将 Solr 与 Haystack 一起使用,我需要在 Django 模板中显示日期方面,但我不知道如何使用此结果:

我的sq:

结果是这样的:

如何在 Django 模板中使用此结果?我需要按年分面,例如:

关于如何在模板上实现这一点的任何线索?

0 投票
1 回答
323 浏览

ruby-on-rails - Rails + Sunspot:用于过滤未分配关联的记录的“未分配”方面?

仍在学习方面,但我想过滤没有分配关联记录的记录。首先是一些代码:

该模型:

控制器:

风景:

该视图显示了一个类别过滤器列表及其各自的计数,但是,我想包括一个“未分配”方面(及其计数),它将查询尚未分配类别的项目。这可能与方面有关吗?此外,过滤已分配任何类别的项目的“已分配任何”方面(及其计数)怎么样?谢谢你。

0 投票
3 回答
1431 浏览

html - 当表单输入遍布整个页面时,最好的 HTML 方法是什么?

我正在构建一个分面搜索系统,该系统在侧边栏中有输入(分面是复选框),并在页面标题中输入(主查询框)。当用户提交搜索时,所有这些输入都会同时提交。

我能想到的唯一方法是将整个页面包装在 HTML 表单标记中。类似于以下伪html:

这会起作用,除了三件事:

  1. 正如我上面所指出的,我需要在页面中使用其他表单。
  2. 我使用不同的 django 模板来生成标题和侧边栏,使模板相互依赖。
  3. 这真是一团糟,因为侧边栏实际上大约有 100 行,而不是 3 行。

有没有一种我不知道的更聪明的方法,或者创建巨大的 HTML 表单是常态?在这种情况下,使用 Javascript 以某种方式以更正常的形式生成输入条目会更好吗?还是这是唯一的选择?

有什么创造性的解决方案或想法吗?