标签: facet

Solr和facet搜索

在设置架构时是否内置了构面搜索,或者您是否需要执行某些操作来设置它?

它是否基本上在您设置为可排序的所有字段上开箱即用?

那么你只需使用fq查询语法,它将返回facet xml以及搜索结果?

有没有关于这个的好文章帮助你第一次?

solr facet

12
推荐指数
2
解决办法
3万
查看次数

过滤Redis哈希条目

我正在使用redis存储哈希,每个哈希有大约100k条记录.我想在给定的哈希中实现过滤(分面)记录.请注意,哈希条目可以属于n个过滤器.

看完这个这个,它看起来像我应该:

  1. 每个过滤器实现一个排序的SET.SET内的值对应于HASH中的键.
  2. 从给定的过滤器SET中检索HASH密钥.
  3. 一旦我从SET获取HASH密钥,就从HASH中获取相应的条目.这应该给我所有属于过滤器的条目.

首先,上述方法在高水平上是否正确?

假设方法没问题,我缺少的是检索HASH条目最有效的实现方法是什么?我是否正确地思考一旦我有HASH键,我应该使用PIPELINE来排队通过每个HASH键的多个HGETALL命令?有更好的方法吗?

我对使用PIPELINE的担心是我相信它会在服务命令时阻止所有其他客户端.我将分页过滤结果,每页500个结果.有多个基于浏览器的客户端执行过滤,更不用说填充SET和HASH的后端进程,如果PIPELINE阻塞,则听起来有很多争用的可能性.任何人都可以提供这方面的观点吗?

如果它有助于我使用2.2.4 redis,则为后端的Web客户端和服务堆栈提供预测.

谢谢,保罗

hash filter facet redis

12
推荐指数
2
解决办法
8665
查看次数

在stats.field上排除Solr?

可以标记特定过滤器,并在分面时排除这些过滤器.在进行多选择分面时通常需要这样做.

stats.field有类似的可能吗?

stats.field={!ex=foo}price // does not work
Run Code Online (Sandbox Code Playgroud)

我有一个价格滑块,我需要最高价格,好像没有设置价格过滤器.

lucene statistics solr facet

12
推荐指数
1
解决办法
978
查看次数

altair中的多列/行facet包装

ggplot2,使用跨越行和列的构面创建刻面图很容易.有没有"光滑"的方式来做到这一点altairfacet文件

可以在一列中绘制构面图,

import altair as alt
from vega_datasets import data
iris = data.iris

chart = alt.Chart(iris).mark_point().encode(
    x='petalLength:Q',
    y='petalWidth:Q',
    color='species:N'
).properties(
    width=180,
    height=180
).facet(
    row='species:N'
)
Run Code Online (Sandbox Code Playgroud)

在一排,

chart = alt.Chart(iris).mark_point().encode(
    x='petalLength:Q',
    y='petalWidth:Q',
    color='species:N'
).properties(
    width=180,
    height=180
).facet(
    column='species:N'
)
Run Code Online (Sandbox Code Playgroud)

但通常情况下,我只想使用多个列/行在网格中绘制它们,即在单个列/行中排列的那些并不意味着任何特定的含义.

例如,看到facet_wrap来自ggplot2:http://www.cookbook-r.com/Graphs/Facets_(ggplot2)/#facetwrap

python plot facet facet-wrap altair

12
推荐指数
2
解决办法
3764
查看次数

如何让<f:facet>包含多个组件?它只显示第一个

<f:facet>用来创建一个表头,我想在它旁边有一个符号.但是,它似乎不能很好地工作.符号未呈现.

JSF:

<h:column id="subject_column">
  <f:facet name="header">
    <h:commandLink value="Subject" id="sort_by_subjects"
                   action="#{xxx.sort}">
      <f:param id="sortBySubject" name="sortBy" value="SUBJECT"/>
    </h:commandLink>
    <span>${isAscending}</span>
  </f:facet>
  <h:outputText value="#{email.emailSubject}"/>
</h:column>
Run Code Online (Sandbox Code Playgroud)

${isAscending}包含箭头符号?并表示顺序.我想在旁边展示它<h:commandLink>.

jsf facet

11
推荐指数
1
解决办法
2万
查看次数

忽略ggplot2 boxplot + faceting +"free"选项中的异常值

如何调整我的Y轴以忽略异常值,就像在这篇文章中一样,但是在一个更具挑战性的情况下,我有4个箱图和"自由刻面"布局?

p < - ggplot(molten.DF,aes(x = class,y = SOC,fill = class))+ geom_boxplot()+ facet_grid(layer~.,scales ="free",space ="free")

正如您在我的图中所看到的,考虑Y轴范围内的异常值会使框更难以阅读.如果结果中仍然可以看到一些异常值,那就不重要了,但我想真正关注这些方块!

具有自由尺度的boxplot,所有异常值都是(不幸)可见

r facet outliers ggplot2 boxplot

11
推荐指数
1
解决办法
3981
查看次数

当X值相同时,在小平面网格中的两个图形上强制X轴

我有两组X轴约30个类别的数据用于刻面.我将用一些随机数据显示:

dataf <- data.frame(x=c(1:30), A=rnorm(30,20,5), B=rnorm(30,15,0.5))
datam <- melt(dataf, id="x")
ggplot(datam, aes(factor(x), value)) + 
  geom_bar(stat="identity") + 
  facet_grid(variable ~ .)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这很可爱,但如果在该图表上再现x轴,则更容易快速读取顶部分组上的类别.然而

ggplot(datam, aes(factor(x), value)) + 
  geom_bar(stat="identity") + 
  facet_grid(variable ~ ., scales="free")
Run Code Online (Sandbox Code Playgroud)

对x轴没有影响,因为我猜两个分组的值都是相同的.

如何强制为顶部组和条形图重现X轴?

r facet bar-chart ggplot2

11
推荐指数
1
解决办法
3437
查看次数

在ggplot2中分别标准化分面直方图

我的问题类似于将 R ggplot中的直方图中的y轴标准化为比例, 但我想稍微添加一下.

一般来说,我在2x3小平面设计中有6个直方图,我想分别对它们进行标准化.我将尝试在此处创建一个示例数据集以提供一个想法:

hvalues=c(3,1,3,2,2,5,1,1,12,1,4,3)
season=c("fall","fall","fall","fall","winter","winter","winter","winter","summer","summer","summer","summer")
year=c("year 1","year 1","year 2","year 2","year 1","year 1","year 2","year 2","year 1","year 1","year 2","year 2")
group=c("fall year 1","fall year 1","fall year 2","fall year 2","winter year 1","winter year 1","winter year 2","winter year 2","summer year 1","summer year 1","summer year 2","summer year 2")
all=data.frame(hvalues,season,year)
Run Code Online (Sandbox Code Playgroud)

运用

ggplot(all, aes(x=hvalues,group=group)) + 
geom_histogram(aes(y=..count../sum(..count..))) + 
facet_grid(season ~ year)
Run Code Online (Sandbox Code Playgroud)

给出整体比例(即组合所有方面).我希望每个组的方面都被标准化为1.在我的实际数据中,hvalues不是整数 - 它们是数字的.

我是一个使用R的新手,非常感谢一些帮助.提前致谢!

r normalization histogram facet ggplot2

11
推荐指数
1
解决办法
3586
查看次数

ElasticSearch附加的facet数据

我已经将我的弹性搜索实现配置为通过映射中的id来对结果进行分析,当我向用户显示该方面时,我需要能够显示代表它的人类可读名称.我需要的数据都存在于映射中,但我不确定如何将其作为方面的一部分返回.当然有可能吗?

考虑下面的例子,我想小面给我一些方法来关联thingIdthingName(或其他任何thing可能需要的属性):

制图

{
  thingId,
  thingName
}
Run Code Online (Sandbox Code Playgroud)

分面查询

{
  "facets":{
    "things":{ "terms":{ "field":"thingId" } }
  }
}    
Run Code Online (Sandbox Code Playgroud)

结果

{
  "hits":{
    "total":3,
    "max_score":1.0,
    "hits":[
      ...
    ]
  },
  "facets":{
    "things":{
      "_type":"terms",
      "missing":0,
      "total":3,
      "other":0,
      "terms":[
        {
          "term":"5",
          "count":1
        },
        {
          "term":"4",
          "count":1
        },
        {
          "term":"2",
          "count":1
        }
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑

关于Solr的这个答案建议我将两个属性(thingNamethingId)都面对,然后循环遍历两个方面结果集,假设项目的顺序是相同的.我不知道会有多可靠,但这是一个选择.

编辑2

这个答案表明,如果不将两个领域合并为一个单一的价值并且面对这个问题,就不可能做我想做的事情:thingId|thingName.不理想.

编辑3

这个答案建议将这些值组合成一个字段并在其上进行分面(如上所述),但它使用术语脚本来实现组合,因此不需要我索引值的组合形式.仍然不完美,但似乎是最糟糕的选择.

facet faceted-search elasticsearch

11
推荐指数
1
解决办法
1444
查看次数

使用elasticsearch计算不同的值

我正在学习弹性搜索,并希望计算不同的值.到目前为止,我可以计算值,但不是很明显.

以下是示例数据:

curl http://localhost:9200/store/item/ -XPOST -d '{
  "RestaurantId": 2,
  "RestaurantName": "Restaurant Brian",
  "DateTime": "2013-08-16T15:13:47.4833748+01:00"
}'

curl http://localhost:9200/store/item/ -XPOST -d '{
  "RestaurantId": 1,
  "RestaurantName": "Restaurant Cecil",
  "DateTime": "2013-08-16T15:13:47.4833748+01:00"
}'

curl http://localhost:9200/store/item/ -XPOST -d '{
  "RestaurantId": 1,
  "RestaurantName": "Restaurant Cecil",
  "DateTime": "2013-08-16T15:13:47.4833748+01:00"
}'
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试了什么:

curl -XPOST "http://localhost:9200/store/item/_search" -d '{
  "size": 0,
  "aggs": {
    "item": {
      "terms": {
        "field": "RestaurantName"
      }
    }
  }
}'
Run Code Online (Sandbox Code Playgroud)

输出:

{
  "took": 0,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 3, …
Run Code Online (Sandbox Code Playgroud)

facet aggregation elasticsearch

11
推荐指数
2
解决办法
2万
查看次数