我使用elasticsearch客户端连接到elasticsearch。
在试图将映射添加到索引时,我收到以下警告:
es.indices.put_mapping(index=index, body=mappings)
/usr/local/lib/python2.7/dist-packages/elasticsearch/connection/base.py:209: ElasticsearchWarning: }}], attempted to validate it with the following match_mapping_type: [string], caused by [
我有一个带有默认索引的elasticsearch实例设置。10000的文本文档已经在它们中进行了索引,我希望执行空间无关的查询。我想像下面的案例那样进行搜索。
案例1索引中的空间查询中没有空格:
index data : 123 456 43
query data :12345643
案例2查询中的空间索引中没有空格:
index data : 12345643
query data : 123 456 43
正如您在上面看到的,查询不会,因为查询数据是一个术语,索引数据是三个术语。情况2反之亦然
案例3有空格差的部分匹配:
index data : 12345643
query
如果我用这个分析器(C#)定义我的索引:
settings = new
{
index = new
{
number_of_shards = 1,
number_of_replicas = 1,
analysis = new
{
analyzer = new
{
analyzer_standard_with_html_strip = new
{
type
我有来自Logstash的数据,这些数据正在以一种过于急切的方式进行分析。从本质上讲,字段"OS X 10.8"将被分解为"OS"、"X"和"10.8"。我知道我可以只更改现有数据的映射和重新索引,但我如何更改默认分析器(在ElasticSearch或LogStash中)以避免在未来的数据中出现此问题?
具体解决方案:在第一次将数据发送到新集群之前,我为该类型创建了一个映射。
来自IRC的解决方案:创建
我正在使用nest创建我的Elasticsearch索引。我有两个问题:
问题1.我如何添加使用英语分析器的设置和标准分析器的后退?
我就是这样创建我的索引的:
Uri _node = new Uri("elasticUri");
ConnectionSettings _connectionSettings = new ConnectionSettings(_node)
.DefaultIndex("MyIndexName")
.DefaultMappingFor<POCO>(m => m