有关ES索引结构的几个问题请:
(1) _source是Lucene中的一个字段,如果是的话,Lucene是如何存储它的,它是否是一个键值存储,而不是倒索引。
(2) ES _id是Lucene中的一个字段,还是在其他键值存储中。如果我使用md5作为我的文档id,并在文档中创建md5字段,那么哪个查询会更快,即搜索_id还是搜索md5?
(3) ES _type是Lucene中的一个字段,如果是这样的话,为什么ES中的不同_type可以有相同的_id。提前感谢!
我正在尝试在elastic search中实现精确匹配搜索。但我没有得到所需的结果。下面是代码来解释我所面临的问题和我尝试过的事情。
doc1 = {"sentence": "Today is a sunny day."}
doc2 = {"sentence": " Today is a sunny day but tomorrow it might rain"}
doc3 = {"sentence": "I know I am awesome"}
doc4 = {"sentence"
假设文档文本是This is a sample text to show how the search results works,我的查询字符串是mple tex。我希望这个查询字符串与文本匹配,因为它与sample text部分匹配。
我如何在elastic search中做到这一点?在ES中可以进行很多搜索吗?
我目前使用的是match_phrase查询
"query": {"match_phrase": {"description": "mple tex"}},
我是elasticsearch的新手。我需要获取查询结果的文档大小。 示例:在ES中查询文档时使用-- this is a document. (19bytes). this is also a document. (24bytes) content:{"a":"this is a document", "b":"this is also a document"}(53bytes)。我会得到上面的文件作为结果。因此,两个文档的大小都是32字节。我需要elasticsearch中的32字节作为结果。
我有一个索引结构,其中类型是日期,每种类型都有几个文档。我希望获取类型1中存在的所有文档,但类型2中必须缺少这些文档。举个例子:
Type-1 ---> id list = [1,2,3,4,5,6]
Type-2 ---> id list = [2,3,7,8,9]
我正在寻找的查询应该只返回id = 1,4,5,6的type-1文档。我使用es-py客户端来实现上述目的。
PS:我总是可以获得分别匹配type-1和type-2的文档,然后对它们进行迭代,以获得我需要的内容。但这是我为了性能而想要避免的解决方案。
假设我有一个日志系统,每天都会创建一个新的索引。现在,我要查询整整一年,也就是365个指数。
虽然ES对索引名有date math支持,但我似乎必须像这样编写一个查询:
GET /<logstash-{now/d}>,<logstash-{now/d-1d}>,<logstash-{now/d-2d}>,... ...... there will be 365 items for each day ...... /_search
threr是一种更好的查询方式吗?