我有一个索引(名称:“index1”)指向ElasticSearch中的多个文档。
文档的格式(json)是-
{
"_index": "index1",
"_type": "someType",
"_id": "randomIDBlahBlah",
"_source": {
"version": "2018",
"fields": [
{
"field": "A.B",
"lineNumber": 1
},
{
"field": "C.D",
"lineNumber": 2
},
{
"field": "A.E",
"lineNumber": 3
}]
},
"fields": {
"created": [
"2017-01-19T20:11:07.977Z"
]
},
"sort": [
2324343
]
}
下面是映射-
{
"index1": {
"mappings": {
"mapping": {
"properties": {
"branch": {
"type": "text"
},
"created": {
"type": "date"
},
"fields": {
"type": "nested",
"properties": {
"field": {
"type": "text"
},
"lineNumber": {
"type": "integer"
}
}
}
}
}
}
}
}
POST index1/_search
{
"query": {
"bool": {
"must": [
{
"bool": {
"should": [
{
"nested": {
"path": "fields",
"query": {
"match_phrase": {
"fields.field": "A.B"
}
}
}
}
]
}
}
]
}
}
}
我在ES查询中哪里做错了?
如果字段不是type关键字,则必须添加type.keyword
这是由ES在“type”:“text”字段上自动生成的
GET index1/_search
{
"query": {
"bool": {
"must": [
{
"bool": {
"should": [
{
"nested": {
"path": "fields",
"query": {
"match_phrase": {
"fields.field.keyword: "A.B"
}
}
}
}
]
}
}
]
}
}
}```
问题内容: 我使用php对二进制文档(fscrawler)实现了elasticsearch。使用默认设置就可以正常工作。我可以在文档中搜索所需的单词,并且得到的结果不区分大小写。但是,我现在要进行精确匹配,即在当前搜索的顶部,如果查询用引号引起来,我想获得仅与查询完全匹配的结果。 我的映射如下所示: 我对文档的查询如下所示: 对于完全匹配(无效): 内容字段是文档的主体。如何在内容字段中实现特定单
我使用php for binary documents(fscrawler)实现了elasticsearch。它在默认设置下工作得很好。我可以在文档中搜索我想要的单词,并得到不区分大小写的结果。然而,我现在想做精确匹配,即在当前搜索的顶部,如果查询被括在引号中,我想得到结果,只匹配查询完全…甚至区分大小写。 我的映射如下所示: 对于完全匹配(不起作用): 内容字段是文档的主体。如何实现内容字段中特
问题内容: 我正在尝试使用ES作为MongoDB的索引。我已经成功地将它们集成在一起,但是我发现搜索API相当复杂且令人困惑。Java API也不太有用。 我可以找到完全匹配的内容,但是如何获得此结果?这是我的代码: 问题答案: 我不确定我是否理解您的问题。 如果要根据示例打印searchResponse的结果,则应为以下内容: 我正在使用Gson将Json响应转换为FireWall(POJO)。
我想从ElasticSearch的结果文档中排除一个字段。我浏览了ElasticSearch.org的这个文档http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html但当我尝试时,这不起作用。我在SO上看到了同样的问题。有没有办法在Elasticsearch查询中
为了在Lucene查询返回的文档中显示突出显示的匹配词,Lucene搜索结果可能包含用于将文档作为匹配我的请求返回的词。 例如: > Lucene查询:"狗猫" 结果:[“狗很好”,“狗和猫是朋友”] 如何通过Lucene实现这一点?我无法手动处理猫或狗,也无法处理请求词和返回词之间的任何差异。
问题内容: 所以我有一个弹性的搜索索引,并且要向它发送带有时间戳的文档。我想知道是否有一种方法可以根据时间戳提取最后一个文档。即说要弹性给我最后一次的文档。 谢谢。 问题答案: 是的,您只需索取一个文档()并通过减少时间戳进行排序