对于多值字段,如下所示:
PUT match_test
{
"mappings": {
"properties": {
"companies": {
"type": "text"
}
}
}
}
POST match_test/_doc/1
{
"companies": ["bank of canada", "japan games and movies", "microsoft canada"]
}
此查询返回我们在上面插入的文档:
GET match_test/_search
{
"query": {
"match": {
"companies": {
"query": "canada games",
"operator": "and"
}
}
}
}
有没有办法让弹性单独匹配列表中的每个项目?我想让文档匹配“银行”、“美国”、“银行”、“游戏”、“加拿大”,但不匹配“微软游戏”
我不想使用嵌套文档或脚本
如果你想找到相距很远但仍然在同一个数组索引上的单词,那么你可以使用position_increment_gap。
创建映射时,将字段的position_increment_gap设置为100。Elasticsearch将在每个位置自动索引数组数据,在下一个索引处的数据位置为100。然后用99编写一个match_phrase查询。
PUT match_test
{
"mappings": {
"properties": {
"companies": {
"type": "text",
"position_increment_gap": 100
}
}
}
}
GET match_test/_search
{
"query": {
"match_phrase": {
"companies": {
"query": "japan movies",
"slop":99
}
}
}
}
在这里阅读更多信息https://www.elastic.co/guide/en/elasticsearch/reference/current/position-increment-gap.html
尝试获取与字段ABC的值相匹配的文档。尝试了“必须”或“应该”查询,但未得到预期结果。有人能建议我应该尝试什么样的查询吗?使用HighLevelRestClient。 或 映射 条件工作正常。如果我只是反转条件并忽略字段值,那么我就会得到结果。 X1和Y1是精确的字段值(想想枚举) Still query返回所有文档。这应该已将文档筛选为匹配的值 样本文档
我有一个如下所示的ElasticSearch查询: 和像这样的文件作对。 因此,我能够根据文档名称和搜索名称与我的查询的接近程度来检索文档。 要求是,文本搜索框应该检索与查询匹配的最接近的名称,但是,如果给定相对相似的名称,在过去的时间段内投诉数量超过10的文档在搜索结果中的显示应该高于那些少于10的文档。 因此,我需要传递一个时间段的关键字,例如“01/01/2001-31/12/2001”,如
Sup社区。我有个问题。我正在使用Elasticsearch 6.4 我的数据结构的一部分: 我需要得到按成本排序的文档desc,我需要排序dirs字段中的值date_by字段与nulls-first。 如何对嵌套字段内的值进行排序,而不按此嵌套字段对文档进行排序?
问题内容: 我有这样一个表(myTable): 我想要一个查询,该查询返回每个记录,但是增加了一个列,该列包含orig_id与当前行的id相等的其他行的计数。 结果表如下所示: 我尝试了以下查询,但没有结果: 我怎样才能达到预期的效果? 问题答案: 您可以通过联接和聚合来做到这一点:
我只需要对与查询匹配的嵌套对象上的值求和。看起来ElasticSearch确定与查询匹配的文档,然后对所有嵌套对象求和。从下面的大纲中,我想搜索嵌套对象。objtype=“A”并返回objvalue之和,仅用于匹配嵌套对象,我想得到值4。这可能吗?如果是,如何? 这是地图 这是我的文件 这是我的查询代码。
在这里给ElasticSearch的初学者排名。 我有一个客户列表,他们的订单作为一个嵌套字段。假设文档结构如下: 我想查询的是:在两个日期之间订购了一定数量的用户列表。我希望能够将它与例如生日的范围查询结合起来。 我已经到了这样的地步,我可以使用聚合来获得每个订户在两个日期之间的排序总和: 但是,我想限制查询部分返回的结果,以便更好地与所有其他过滤器混合。 我的第一个想法是使用一个脚本过滤器,并