问题标签 [elastica]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
726 浏览

symfony - Elastica 刻面范围

我为 elastica 创建查询时遇到问题,它看起来像这样

请问有人可以帮我解决这个问题吗,我正在使用 FOSElasticaBundle?

0 投票
1 回答
3785 浏览

elasticsearch - 在保持外部版本不变的同时更新 ElasticSearch 文档?

我想更新 ElasticSearch 文档,同时保持文档的版本相同。我正在使用 version_type=external,如index_ 文档的版本控制部分所示如该部分所述,通常会阻止使用另一个相同版本的文档更新文档:“如果提供的值小于或等于存储文档的版本号,则会发生版本冲突并且索引操作将失败。”

我想保持版本不变的原因是,当向该对象添加新标签时,我没有创建对象的新版本(存储在我的数据库中),但我希望新标签显示在我的 ElasticSearch 索引中. 这对 ElasticSearch 可行吗?

我尝试删除该文档,然后添加一个具有相同 ID 和版本的新文档,但这仍然给了我以下异常:

VersionConflictEngineException[[myindex][2] [mytype][6]: 版本冲突,当前1,提供1 ]

仅供参考,我使用的是 PHP Elastica(带有方法$type->deleteDocument($doc);$type->addDocument($doc);),但这个问题通常适用于 ElasticSearch。

0 投票
1 回答
1853 浏览

elastica - 如何使 Elastica Query 排序工作?

我正在尝试对搜索结果进行排序,但我只是使用以下代码获得未排序的结果(在此示例中,我查询所有结果):

作为参考,我将 FOSElasticaBundle 与 Symfony2 项目(使用$type = $this->container->get('fos_elastica.index.website.myType');)一起使用,但这不应该有所作为。

如果我使用 直接在浏览器上进行查询http://localhost:9200/website/myType/_search?sort=id:desc&pretty=true,我会得到正确排序的结果。

0 投票
1 回答
584 浏览

php - 弹性搜索:提升结果

我有许多已在 ES 中编制索引的对象。每个对象的两个属性是“类型”和“标题”。有什么方法可以提升结果,如果结果集中的某个类型占多数,那么标题的权重比“描述”等其他属性要重得多?

编辑:我已经在提升某些属性。但我想,给定结果集的某个特征(大多数类型都是相似的),进一步提升另一个领域。

0 投票
1 回答
1912 浏览

php - 了解 ElasticSearch 路由

我正在尝试使用 elasticsearch 路由映射来加快一些查询,但我没有得到预期的结果集(还不担心查询性能)

我正在使用 Elastic 来设置我的映射:

如果我理解正确,应该发生的是每个结果现在应该有一个名为“countrycode”的字段,其中包含“country”的值。

_mapping 的结果如下所示:

如果我运行此命令,一旦所有数据都在索引中:

它以 15740 个项目响应

我所期待的是,如果我像这样运行查询:

然后我期待它以 15740 结果响应

相反,它返回 120617 个结果,其中包括国家/地区为 != au 的结果

我确实注意到结果中的分片数量从 4 变为 1,所以有些东西在起作用。

我期待在结果集中会有一个名为“countrycode”的项目(来自路由映射),但没有

所以我在这一点上认为我对路由的理解是错误的。也许路由所做的只是告诉它要查找哪个分片,而不是要查找什么?换句话说,如果其他国家/地区代码恰好也落在该特定分片中,那么这些查询的编写方式只会带回该分片中的所有记录?

所以我再次尝试了查询,这次添加了一些信息。

我认为这样做会强制查询只给我 AU 地名,但这次它只给了我 3936 个结果

所以我不太确定我做错了什么,我读过的示例显示查询从需要过滤器变为仅使用 match_all{},我认为这只会是匹配 au 国家/地区代码的查询。

感谢您帮助使其正常工作。

几乎可以正常工作,现在它在单个分片中为我提供了正确数量的结果,但是创建索引工作不正常,它忽略了我的 number_of_shards 设置,可能还有其他设置

0 投票
1 回答
289 浏览

php - 庞大的数据库索引elasticsearch

我正在尝试使用 elasticsearch 为包含超过 100 万个帖子的数据库建立索引,但我遇到的问题是,由于数据量大,索引崩溃

是否可以分部分进行索引,或者这是不应该崩溃的东西,我只是做错了什么?

我正在使用 Elastica ( https://github.com/ruflin/Elastica )

- - 编辑 - -

忘了添加一些错误,这就是我得到的,之后什么也没有发生

0 投票
1 回答
324 浏览

php - 使用“_”而不是“\”调用 Elastica 类

我正在为我的 Symfony 项目使用 Elastica 搜索引擎。

现在,我收到以下错误:

自动加载器预期类“Elastica_Query_Bool”将在文件“/blablabla/vendor/ruflin/elastica/lib/Elastica/Query/Bool.php”中定义。找到文件但类不在其中,类名或命名空间可能有错字。

如果我在我的 php 文件中更改,它工作正常new \Elastica_Query_Bool()new \Elastica\Query\Bool()

但我不明白为什么我现在收到错误。任何想法 ?

0 投票
6 回答
20868 浏览

elasticsearch - elasticsearch提高精确短语匹配的重要性

elasticsearch 有没有办法提高文档中出现的确切短语的重要性?

例如,如果我正在搜索短语“web developer”,并且如果“web developer”这两个词一起出现,那么与在整个文档中分别出现的“web”和“developer”相比,它们将被提升 5。因此,任何包含“web developer”的文档都将首先出现在结果中。

0 投票
1 回答
4442 浏览

php - 在一个查询中组合两种不同的过滤器 - Elastica

我的问题很简单。我想在 Elastica 的一个查询中组合两个过滤器,一个 filter_bool 和一个 filter_range。代码是

我无法在 $elasticaQuery 中将两个过滤器放在一起。如有任何帮助,我将不胜感激!

谢谢!

0 投票
1 回答
4085 浏览

php - FOSElasticaBundle CustomScore 查询分页

我刚刚开始使用 FOSElasticaBundle,到目前为止发现它真的很好用。我不确定是我对 bundle/Elastica 的无知还是我对 ElasticSearch 的一般知识缺乏了解,但是是否可以使用分页进行 CustomScore 查询?

如果我尝试在 CustomQuery 对象上调用 setFrom/setSize,我会被告知这些方法不存在。如果我在那里创建一个 Query 对象和 setFrom 和 size 并将这个查询传递给 CustomScore 查询对象,那么分页参数将被忽略。我已经包含了我的代码副本,以说明它的价值......

任何帮助都欣然接受:o)