标签: elasticsearch-plugin

无法启动 ElasticSearch - 找不到插件类

我们有一个现有的基于 Java 的 ElasticSearch 自定义插件。我们现在升级到 ElasticSearch 2.1.1 并添加了 plugin-descriptor.properties 文件来指向我们的插件类。

之后,我们就可以安装我们的自定义插件了。但是当我们启动ElasticSearch服务时,却找不到这个自定义插件。我们验证了类文件存在于 /usr/share/elasticsearch/plugins/ 目录下。

以下是异常堆栈跟踪:

[2016-01-20 13:13:48,527][ERROR][bootstrap] Exception
ElasticsearchException[Could not find plugin class [com.symc.edp.elasticsearch.plugin.CustomEDPPlugins]]; nested: ClassNotFoundException[com.symc.edp.elasticsearch.plugin.CustomEDPPlugins];
        at org.elasticsearch.plugins.PluginsService.loadPluginClass(PluginsService.java:382)
        at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:348)
        at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:109)
        at org.elasticsearch.node.Node.<init>(Node.java:146)
        at org.elasticsearch.node.Node.<init>(Node.java:128)
        at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:145)
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Caused by: java.lang.ClassNotFoundException: com.symc.edp.elasticsearch.plugin.CustomEDPPlugins
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:814)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at org.elasticsearch.plugins.PluginsService.loadPluginClass(PluginsService.java:380)
        ... 8 more
[2016-01-20 13:22:55,236][INFO ][node                     ] [localhost] version[2.1.1], pid[20680], build[40e2c53/2015-12-15T13:05:55Z]
[2016-01-20 13:22:55,237][INFO ][node                     ] [localhost] initializing ...
[2016-01-20 13:22:55,840][ERROR][bootstrap                ] Exception
ElasticsearchException[Could …
Run Code Online (Sandbox Code Playgroud)

java elasticsearch elasticsearch-plugin

2
推荐指数
1
解决办法
2617
查看次数

在集群中的每个节点上安装插件?

我有一个双节点 Elasticsearch 2.2.0 集群,每个节点位于不同的物理盒子上。

现在我需要安装按查询删除插件。我应该在每台机器上安装插件吗?

elasticsearch elasticsearch-plugin

2
推荐指数
1
解决办法
2185
查看次数

Elasticsearch 用户点击反馈

在使用 Elasticsearch 制作的搜索引擎中,考虑用户点击结果项目以提高具有更多用户印象的文档分数的最佳解决方案是什么?

是否有任何可以使用的工具或插件,还是应该从头开始编写?

该解决方案预计会像谷歌一样考虑以下内容:

  • 每个文档被显示的次数
  • 用户点击文档的次数
  • 用户搜索的查询(文档在特定查询中可能很重要,但在其他查询中不重要)
  • ...

lucene elasticsearch elasticsearch-plugin

2
推荐指数
1
解决办法
1206
查看次数

ElasticSearch 多索引查询

简单的问题:我的弹性搜索引擎中有多个索引,由 postgresql 使用 logstash 镜像。ElasticSearch 在模糊搜索方面表现良好,但现在我需要在索引中使用引用,这些引用需要由查询处理。

Index A:
{
  name: "alice",
  _id: 5
} 
...

Index B:
{
  name: "bob",
  _id: 3,
  best_friend: 5
}
...
Run Code Online (Sandbox Code Playgroud)

我如何查询:

获取字段名称以“b”开头的索引B和名称以“a”开头的“best_friend”引用的索引A的每个匹配项

弹性搜索甚至可以做到这一点吗?

postgresql elasticsearch logstash elasticsearch-plugin logstash-configuration

2
推荐指数
1
解决办法
2626
查看次数

如何使用 Java API 设置摄取附件(elasticsearch)插件选项?

我在elasticsearch上使用摄取附件处理器插件。我需要一套连接选项(indexed_charspropertiesignore_missing等)的Java API。我怎样才能做到这一点?

我正在创建索引和设置管道,如下所示:

String id = ...
Map<String, Object> row = ...
client.prepareIndex(indexName, "my_type", id)
                    .setSource(row)
                    .setPipeline("my_pipeline")
                    .execute();
Run Code Online (Sandbox Code Playgroud)

java elasticsearch elasticsearch-plugin

2
推荐指数
1
解决办法
734
查看次数

如何使用摄取附件插件和 JavaScript 客户端在 Elasticsearch 6.1 中索引 PDF?

我尝试按照以下问题的答案中的说明进行操作:

如何使用摄取附件插件在 Elasticsearch 5.0.0 中索引 pdf 文件?

我找不到很多 ElasticSearch 的 JavaScript 客户端示例,所以这里是我所拥有的:

创建索引

// elasticsearch Client
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({hosts: [ 'http://localhost:9200/']});

// Create index
client.create({index: 'pdfs', type: 'pdf', id: 'my-index-id', 
    body: {description: 'Test pdf indexing'}
})
.then(function () {console.log("Index created");})
.catch(function (error) {console.log(error);});
Run Code Online (Sandbox Code Playgroud)

在 Node 中定义索引映射:

var body = {
    pdf:{
        properties:{
            title : {"type" : "keyword", "index" : "false"},
            type  : {"type" : "keyword", "index" : "false"},
            "attachment.pdf" : {"type" : "keyword"}
        } …
Run Code Online (Sandbox Code Playgroud)

javascript pdf base64 elasticsearch elasticsearch-plugin

2
推荐指数
1
解决办法
5226
查看次数

如何在 Elasticsearch 中获取搜索历史?

有任何方法可以在Elasticsearch 中获取搜索历史。在此,我想获取客户在过去一个月中搜索过的搜索查询。

php elasticsearch elasticsearch-plugin

2
推荐指数
1
解决办法
2486
查看次数

如何搜索相似的词?

我是 Elasticsearch 的新手,所以我是这样分发的:

弹性版(6.3.1)

PUT my_index/_doc/1
{
  "game_name": "clash of clans"
}

GET my_index/_search
{
   "query" : {
     "match_phrase_prefix" : {
       "game_name" : "clash"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

没关系,但我想要下面的代码:

  GET my_index/_search
    {
       "query" : {
         "match_phrase_prefix" : {
           "game_name" : "lash"

//--OR
           "game_name : "klash"

//--OR

           "game_name : "clsh"
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

没有结果,你能指出我如何解决这个问题吗?

感谢致敬!

elasticsearch elasticsearch-plugin spring-data-elasticsearch

2
推荐指数
1
解决办法
562
查看次数

ElasticSearch URI 搜索空字段

我需要通过 URI 创建一个查询来过滤两个日期之间的所有数据,以及这个日期字段是否为空。

例如:我在某些对象中有字段“creation_date”,但是我希望在结果中也不会出现该字段没有的对象。

我在下面尝试了类似的东西:

http://localhost//elasticsearch/channels/channel/_search?q=channel.schedule.creation_date:[2018-06-19 TO 2018-12-22] OR channel.schedule.creation_date: NULL
Run Code Online (Sandbox Code Playgroud)

只要比较日期没问题,它就可以工作。问题是获取 NULL 值。

编辑 源示例:

 "_source": {
                "channel": {
                    "activated": false,
                    "approved": false,
                    "content": "Jvjv",
                    "creation_date": "2018-06-21T13:06:10.000Z",
                    "facebookLink": "J jv",
                    "id": "Kvjvjv",
                    "instagramId": "Jvjv",
                    "name": "Kbkbkvk",
                    "ownerId": "sZtxdhiNbNY9sr2DtiCzlgJfsqb2",
                    "plan": 0,
                    "purpose": "Jvjv",
                    "recurrence": 1,
                    "segment": "Jvjvjv",
                    "twitterId": "Jvjv",
                    "youtubeId": "Jvj"
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

elasticsearch elasticsearch-plugin elasticsearch-5

2
推荐指数
1
解决办法
1029
查看次数

在Elasticsearch中查找并替换所有文档

我想替换所有我的Elasticsearch索引文档中的单个用户名。是否有API查询?

我尝试搜索多个,但找不到。有人知道吗?

我的情况:

curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"mad", "role":"tester"}'
curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"bob", "role":"engineer"}'
curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"cat", "role":"engineer"}'
curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"bob", "role":"doctor"}'
Run Code Online (Sandbox Code Playgroud)

我在名为“ test”的索引中具有上述数据,并键入“ movies”。在这里,我想用“ alice”代替所有的“ bob”名称。

谢谢

elasticsearch elasticsearch-plugin elastic-stack

1
推荐指数
1
解决办法
2010
查看次数