- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
题
我在哪里可以找到一个完整的示例,该示例展示了从索引文档到检索搜索结果的分层分面搜索是如何工作的?
我的研究到目前为止
Stackoverflow 有一些帖子,但它们都只针对分层分面搜索的某些方面;因此,我不会认为它们是重复的。我正在寻找一个完整的例子来理解它。我一直错过聚合工作的最后一个查询。
Alice (document 1)
- Blond
- Europe
Jane (document 2)
- Brown
- Europe/Norway
Bob (document 3)
- Brown
- Europe/Norway
- Europe/Sweden
http://server:8983/solr/my_core/select?q=*%3A*&wt=json&indent=true&facet=true&facet.field=tags_ss
Hair_color (3)
- blond (1)
- brown (1)
- black (1)
Location (3)
- Europe (4) // This should be 4 not 3, i.e. the sum of the leaves, because Alice is tagged with "Europe" only, without a country
- Norway (2)
- Sweden (1)
documents.xml
的内容
solr-5.1.0/testdata
中的文件子文件夹:
<add>
<doc>
<field name="id">Alice</field>
<field name="tags_ss">hair_color/blond</field>
<field name="tags_ss">location/Europe</field>
</doc>
<doc>
<field name="id">Jane</field>
<field name="tags_ss">hair_color/brown</field>
<field name="tags_ss">location/Europe/Norway</field>
</doc>
<doc>
<field name="id">Bob</field>
<field name="tags_ss">hair_color/black</field>
<field name="tags_ss">location/Europe/Norway</field>
<field name="tags_ss">location/Europe/Sweden</field>
</doc>
</add>
_ss
在
schema.xml
中定义作为
<dynamicField name="*_ss" type="string" indexed="true" stored="true" multiValued="true"/>
hair_color
和
location
以及将来添加的任何标签都存储在同一个
tags_ss
中 field 。
c:\solr-5.1.0>java -classpath dist/solr-core-5.1.0.jar -Dauto=yes -Dc=gettingstarted -Ddata=files -Drecursive=yes -Durl=http://server:8983/solr/my_core/update org.apache.solr.util.SimplePostTool .\testdata
http://server:8983/solr/my_core/select?q=*%3A*&wt=json&indent=true
{
"responseHeader": {
"status": 0,
"QTime": 0,
"params": {
"indent": "true",
"q": "*:*",
"_": "1430830360536",
"wt": "json"
}
},
"response": {
"numFound": 3,
"start": 0,
"docs": [
{
"id": "Alice",
"tags_ss": [
"hair_color/blond",
"location/europe"
],
"_version_": 1500334369469890600
},
{
"id": "Jane",
"tags_ss": [
"hair_color/brown",
"location/europe/Norway"
],
"_version_": 1500334369469890600
},
{
"id": "Bob",
"tags_ss": [
"hair_color/black",
"location/europe/Norway",
"location/europe/Sweden"
],
"_version_": 1500334369469890600
}
]
}
}
http://server:8983/solr/my_core/select?q=*%3A*&wt=json&indent=true&facet=true&facet.field=tags_ss
{
"responseHeader": {
"status": 0,
"QTime": 0,
"params": {
"facet": "true",
"indent": "true",
"q": "*:*",
"_": "1430830432389",
"facet.field": "tags_ss",
"wt": "json"
}
},
"response": {
"numFound": 3,
"start": 0,
"docs": [
{
"id": "Alice",
"tags_ss": [
"hair_color/blond",
"location/europe"
],
"_version_": 1500334369469890600
},
{
"id": "Jane",
"tags_ss": [
"hair_color/brown",
"location/europe/Norway"
],
"_version_": 1500334369469890600
},
{
"id": "Bob",
"tags_ss": [
"hair_color/black",
"location/europe/Norway",
"location/europe/Sweden"
],
"_version_": 1500334369469890600
}
]
},
"facet_counts": {
"facet_queries": {},
"facet_fields": {
"tags_ss": [
"location/europe/Norway",
2,
"hair_color/black",
1,
"hair_color/blond",
1,
"hair_color/brown",
1,
"location/europe",
1,
"location/europe/Sweden",
1
]
},
"facet_dates": {},
"facet_ranges": {},
"facet_intervals": {},
"facet_heatmaps": {}
}
}
"facet_fields": {
"tags_ss": [
"location/europe/Norway",
2,
"hair_color/black",
1,
"hair_color/blond",
1,
"hair_color/brown",
1,
"location/europe",
1,
"location/europe/Sweden",
1
]
},
{
"responseHeader":{
"status":0,
"QTime":0,
"params":{
"facet":"true",
"indent":"true",
"q":"*:*",
"facet.field":"tags_ss",
"wt":"json",
"rows":"0"}},
"response":{"numFound":3,"start":0,"docs":[]
},
"facet_counts":{
"facet_queries":{},
"facet_fields":{
"tags_ss":[
"hair_color,3, // This aggregations is missing
"hair_color/black",1,
"hair_color/blond",1,
"hair_color/brown",1,
"location/europe",4, // This aggregation should be 4 but is 1
"location/europe/Norway",2,
"location/europe/Sweden",1]},
"facet_dates":{},
"facet_ranges":{},
"facet_intervals":{},
"facet_heatmaps":{}}}
location/europe = 4
将被正确聚合,但目前不是。我不断收到
location/europe = 1
因为它只设置为
Alice
和
Bob
的
Norway
和
Sweden
未汇总也计入
Europe
.
facet.pivot
,但我不知道如何。 facet.prefix
,但我不知道如何。 最佳答案
如果将它们分阶段推送到索引中,则可以填充所有聚合。如果 Bob 来自挪威,则您最多可以在构面字段中填充三个值:
location
location/Europe
location/Europe/Norway
/
)上的所有值来创建嵌套数据结构。一旦你有了嵌套的数据结构,那么分层显示它应该是可管理的。很难详细介绍这部分实现,因为您的嵌套数据结构和显示将在很大程度上取决于您的开发环境。
location/Europe/Norway
),但在迭代构面列表并构建您的嵌套数据结构。存在的风险是,如果一个人真正与欧洲的多个国家有联系,那么您可能会得到更高级别的总数
location/Europe
.我选择在我自己的项目中填充单独的值,如上所述。尽管它们看起来是多余的,但总和最终会更加准确。
<add>
<doc>
<field name="id">Alice</field>
<field name="continent">Europe</field>
</doc>
<doc>
<field name="id">Jane</field>
<field name="continent">Europe</field>
<field name="country">Norway</field>
</doc>
<doc>
<field name="id">Bob</field>
<field name="continent">Europe</field>
<field name="country">Norway</field>
<field name="country">Sweden</field>
</doc>
</add>
facet.pivot.mincount=1&facet.pivot=continent,country
执行方面数据透视查询.到目前为止,结果可能很棒:
"facet_pivot":{
"continent,country":[{
"field":"continent",
"value":"Europe",
"count":3,
"pivot":[{
"field":"country",
"value":"Norway",
"count":2,},
{
"field":"country",
"value":"Sweden",
"count":1,}]}]}
<add>
<doc>
<field name="id">Susan</field>
<field name="continent">Europe</field>
<field name="country">Norway</field>
<field name="continent">South America</field
<field name="country">Brazil</field>
</doc>
</add>
<add>
<doc>
<field name="id">Susan</field>
<field name="continent">Europe</field>
<field name="country">Europe/Norway</field>
<field name="continent">South America</field
<field name="country">South America/Brazil</field>
</doc>
</add>
关于solr - Solr 的分层分面搜索示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30054005/
我支持 Rails 项目,其中包含 Rails 应用程序和 Solr 的附加实例。 我的环境:rails 3.2.1、ruby 2.1.2、sunspot 2.1.0、Solr 4.1.6。 问题:
在 Solr 中添加和提交之间的根本区别是什么?我们已经阅读了几个文档,但现在仍然非常清楚它到底做了什么,以及何时使用 Add 和何时使用 Commit? 据我了解,Add 将数据添加到 solr 数
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 5年前关闭。 Improve t
我们可以在 solr suggester 响应中添加上下文而不是上下文过滤吗? 我有 5 个不同的类别。每个类别都有不同的名称。我的建议者在名字上工作。我可以得到如下输出吗? { "term" :
在 solrconfig.xml 中,filterCache(或 queryResultCache 等)的 'autowarmCount' 表示当新的搜索者到来时将复制多少缓存实体。但是,如果我在 s
我们计划部署 Solr 来搜索从通用 CMS 平台发布的多个站点。 每种语言都有单独的网站,其他语言的内容主要是从英语翻译过来的。 搜索要求包括 – 关键字突出显示、建议(“你是什么意思?”)、停用词
我们有一个系统,使用户能够创建应用程序并在其应用程序上存储数据。我们希望将每个应用程序的索引分开。我们为每个应用程序创建一个核心,并在用户进行查询时搜索给定的应用程序。由于应用程序之间没有任何关系,因
我写了一个小型搜索引擎作为我的每周项目。它基于查询向量和文档向量之间的余弦相似度。向量是使用 tf-idf 标记的疮计算的。 我开始了解 Apache Solr,它是一个全文搜索引擎。我的问题是 so
为了索引我的网站,我有一个 Ruby 脚本,它反过来生成一个 shell 脚本,将我的文档根目录中的每个文件上传到 Solr。 shell 脚本有很多行,如下所示: curl -s \ "htt
是否可以分享Solr fieldType s 定义于 schema.xml多核之间? 我在 Solr 中有许多核心,发现自己正在重新定义 fieldType s 仅基于内置过滤器和分词器。例如
我想通过命令停止 solr 所以如果找到这篇文章 http://rc98.net/solrinit echo "Stopping Solr" cd $SOLR_DIR
我想用守护进程运行 solr。我在另一篇文章中看到有一个可以运行的 init.d 脚本,但它在我的 ubuntu 环境中似乎有问题。每当我尝试使用/etc/init.d/solr start 运行脚本
我有一个 solr 搜索返回上下文突出显示结果,显示网址和电子邮件,句点后带有空格 - 例如“www.google.com”或“email@google.com”无论如何要关闭它,以便它们正常显示?谢
我遇到了一个问题,其中一个列是多值的。例如:值可以是 (11,22) (11,33) (11,55) , (22,44) , (22,99) 我想执行一个分组操作,它将产生: 11 : 计数 3 22
这个问题在这里已经有了答案: How to select distinct field values using Solr? (6 个回答) 6年前关闭。 我有如下 solr 索引数据 7920
背景 使用 Solr 4.0.0。我已经索引了一组示例文档的文本并启用了术语向量,因此我可以使用快速向量突出显示 为了突出显示,我正在使用带有句子边界的 Break Iterator Boundar
题 我在哪里可以找到一个完整的示例,该示例展示了从索引文档到检索搜索结果的分层分面搜索是如何工作的? 我的研究到目前为止 Stackoverflow 有一些帖子,但它们都只针对分层分面搜索的某些方面;
我正在尝试开始使用 Apache Solr,但有些事情我不清楚。通读tutorial ,我已经设置了一个正在运行的 Solr 实例。我感到困惑的是 Solr 的所有配置(架构等)都是 XML 格式的。
我将以下文档存储在 Solr 中: doc { id: string; // this is a unique string that looks like an md5 result
我有一个关于在 solr 中创建嵌套字段的可能性的问题。 谷歌搜索告诉我一些关于组的信息,但我认为它只是为了结果? 我想要的是这样的结构: 类别1 项目 1 (9) 项目 2 (8) 类别2 项目 3
我是一名优秀的程序员,十分优秀!