我在Elasticsearch上遇到问题,我不希望对索引项进行分析。但是elasticsearch有一些默认设置,可以在空间上标记它。因此,我的方面查询未返回我想要的结果。
我读到"index" : "not_analyzed"
索引类型的属性应该工作。但是问题是我事先不知道我的文档结构。我会在不知道表结构的情况下将随机MySQL数据库索引到elasticsearch。
我如何设置elasticsearch,使其默认情况下会"index" : "not_analyzed"
一直使用,除非另有要求。谢谢
PS:如果我可以直接使用任何API,我会使用Java。
我会使用动态模板-它应该可以满足您的需求:
{
"testtemplates" : {
"dynamic_templates" : [
{
"template1" : {
"match" : "*",
"match_mapping_type" : "string",
"mapping" : {
"type" : "string",
"index" : "not_analyzed"
}
}
}
]
}
}
有关此方法的更多信息,请参见:
https://www.elastic.co/guide/zh-CN/elasticsearch/guide/current/custom-
dynamic-mapping.html#dynamic-
templates
重要提示: 如果有人建议采用这种方法来解决 not_analyzed 问题,那么它将行不通! 关键字
分析器会对数据进行一些分析,然后将数据转换为小写字母。
例如 Data: ElasticSearchRocks ==> Keyword Analyzer: elasticsearchrocks
自己尝试分析查询,看看它正在发生。
curl -XPUT localhost:9200/testindex -d '{
"index" : {
"analysis" : {
"analyzer" : {
"default" : {
"type" : "keyword"
}
}
}
}
}'
http://www.elasticsearch.org/guide/zh-
CN/elasticsearch/reference/current/analysis-keyword-
analyzer.html
我用cmd删除了映射 在我的配置文件中,我定义了如下索引:, 并尝试创建一个新的映射,但我得到了错误 {“error”:{“root_cause”:[{“type”:“index_not_found_exception”,“reason”:“no-this index”,“resource.type”:“index_or_alias”,“resource.id”:“logstash_log*”,“
我想为我的索引更新elasticsearch中的默认映射。但是所有的文档都指出我们必须为更新映射提供类型。问题是我有很多索引类型,它们是动态创建的,就像新类型的文档出现时一样。所以最好的处理方法是默认映射类型。因为我不必为每个类型定义映射。但现在我无法更新我的索引默认映射。如果可能的话,请告诉我?
问题内容: 我有来自Logstash的数据,这些数据正在以过度的方式进行分析。从本质上讲,该领域将被分解成, 和。我知道我可以更改现有数据的映射和重新索引,但是如何更改默认分析器(在ElasticSearch或LogStash中)以避免将来的数据出现此问题? 具体解决方案:在我第一次将数据发送到新集群之前,我为该类型创建了一个映射。 IRC解决方案:创建索引模板 问题答案: 如您所知,当未明确指定
问题内容: 我要寻找的是关于ElasticSearch(Lucene)的默认评分机制实际工作方式的简单明了的解释。我的意思是,它使用Lucene评分,还是使用自己的评分? 例如,我想通过“名称”字段搜索文档。我使用.NET NEST客户端编写查询。让我们考虑这种查询: 转换为此类JSON查询: 搜索大约有110万个文档。我得到的回报是(这只是结果的一部分,由我自己格式化): 其中第一个字段只是一个
问题内容: 是否可以为类型选择性地启用elasticsearch字段的索引? 通过特定索引的映射设置,可以设置属性 {“ index”:“ not_analyzed”} 对于特定领域。由于我的文档中的字段太多,并且将来可能会更改结构,因此我需要一个映射,除非另行指定,否则默认情况下不会分析字段。 这可能吗? 问题答案: 是的- 看一下动态模板 请尝试以下操作: 动态模板适用于您的映射未涵盖的新字段
ES5.5文档给出了一个大容量索引的明确示例: 但它也说 endpoint为/_bulk、/{index}/_bulk和{index}/{type}/_bulk。当提供了索引或索引/类型时,默认情况下将在未显式提供它们的批量项上使用它们。 但我不能让这一切奏效。 > 我尝试了/myindex/bulkendpoint,但元数据中没有指定类型。 我在指定了“_type”:“_default_”的情况