Elasticsearch:我的索引包含什么:文档或职位?

时间:2018-11-03 15:57:25

标签: elasticsearch position

我已经使用以下命令创建了ES索引:

curl -X PUT -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{"settings" :{"number_of_shards" : 10, "number_of_replicas" : 0, "analysis":{"analyzer": {"my_analyzer": {"type": "custom", "tokenizer":"whitespace","filter":["lowercase","porter_stem"],"stopwords":[...stopwords here ...]}}}}, "mappings" : {"html" : {"properties" : "head" : { "type" : "text", "analyzer": "my_analyzer" }, "body" : { "type" : "text", "analyzer": "my_analyzer"}}}}}' localhost:9200/docs

我读过here

  

已分析的字符串字段将职位作为默认值,所有其他字段将docs作为默认值。

由于我的字段是text类型,因此它们被视为字符串字段吗?

我的主要问题是如何知道每个字段的索引包含哪些内容(文档或职位?)!我使用了\docs\_settings命令来获取索引设置,但是没有得到有用的答案?

有任何提示吗?

编辑

除了下面@ibexit的答案,我实际上通过针对ES索引发出短语查询来验证了这一点。

1 个答案:

答案 0 :(得分:1)

您将字段定义为文本,而未在映射中指定index_options。在这种情况下,将应用文本字段的默认值(index_options = positions)。现在,反向索引将包含文本字段的文档编号,术语频率和术语位置(或顺序)。

有关倒排索引的更多详细信息,请查看https://www.elastic.co/blog/found-elasticsearch-from-the-bottom-uphttps://youtu.be/x37B_lCi_gc 这应该是您进行研究的一个很好的起点。

干杯!