问题标签 [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.
elasticsearch - Elasticsearch 查询流行度的任何方法?
我是 Elasticsearch 的新手,并提出搜索建议来搜索视频,现在使用以下查询(我正在使用 Elastica 库,所以它只是一个打印的数组)
这给了我一些安静的相关结果“Mac OSx”“Mac OS Lion”等。我的问题是,我如何为索引值添加我自己的评分或评级..例如,如果有人搜索“Mac OS Lion”,我可以将其受欢迎程度提高 1,以便下次它应该排在首位 或者有更好的选择吗?
PS 我也是 ElasticSearch 术语的新手,也许是我现在还找不到解决方案的原因。
symfony - Elastica 搜索添加第二个过滤器
我开始在我的 Symfony 应用程序中使用 Elastica,但我坚持要添加一个过滤器。以下代码运行良好,它按名称、段塞、聚集进行搜索,然后添加 geoloc 过滤器。我想添加一个“专业”过滤器来删除所有与该过滤器不对应/具有该专业的结果,但我不知道该怎么做。
php - 带有术语和方面的弹性
我对 elasticsearch 不熟悉,并尝试与 elastica 相处。当其中一个是 2 和/或 7 时,我试图找出一组项目中哪些项目经常一起出现。因此索引包含许多嵌套的项目集。相互项目将使用构面提取。但我似乎没有将以下查询转换为 elastica:
我正在尝试这个:
但到目前为止还没有运气。如何添加构面属性?
php - 即使它位于我要查找的位置,也找不到类
我正在尝试加载一个类,以便我在类文档的帮助下编写的 PHP 脚本能够工作。
由于我的服务器运行的是 PHP 5.3,文档建议像这样加载类:
唯一不同的是我在 if 和 else 套件中包含了 echo。另外 myUsername 实际上是我在服务器文件系统路径中的用户名。
然后,它(文档)建议我像这样创建一个类的新实例:
但是,我收到一个错误,即找不到该类。这正是打印的内容,包括错误和我的 if-else 套件:
未找到!致命错误:在第 17 行的 /webgit/webroot/home/myUsername/www/elastica/index.php 中找不到类“Elastica\Client”
第 17 行是我尝试创建类实例的行。
现在,index.php 是上述代码所在的位置,它位于我的服务器上的 /webgit/webroot/home/myUsername/www/elastica/
并且所有的类文件都在 /webgit/webroot/home/myUsername/www/elastica/lib/
所以,我不明白为什么它无法找到/加载类。
我将不胜感激任何帮助解决这个问题!
mapping - Elastica 多字段设置
我正在尝试将 elasticsearch 的 multi_field 语法与 Elastica 结合使用。我创建了一个索引和一个如下所示的映射:
到目前为止,一切都很好。我可以对标题字段运行查询。
但是,当我尝试在http://example.com:9200/_plugin/head/中查询字段“发布者”时,我无法选择字段发布者或创建结构化查询。我看起来,字段发布者不在索引中。
但是我可以在 publisher.untouched 上构建方面,效果很好。我的映射有什么问题?我需要搜索发布者。
php - 使用elastica按术语搜索给出空结果
使用Elastica - Elasticsearch PHP 客户端。有很多字段,但我想在“Screen_name”字段中搜索。我必须为此做些什么。我使用了术语但没有成功。结果是空数组
这是代码。
elasticsearch - 使用 elasticsearch 仅搜索特定字段
我如何告诉 Elasticsearch 在按术语搜索时排除某个字段?
我有一个用户索引(姓名、电子邮件、认证、经验、办公室...),但只有某些人可以通过认证搜索用户。在我当前的 PHP Lucene 实现中,我有 2 个单独的索引,其中包含和不包含该数据。有没有办法只用一个用户索引来做到这一点?我假设我需要应用某种过滤器[1] [2],但没有看到可以让我完全忽略一个字段的过滤器。
如果有任何专门使用Elastica(PHP 客户端)的方法会更有帮助,但原生 ES 也同样有帮助。
假设我的索引中有 2 个用户
凯文史密斯松饼制作认证
Mark Smith 获得了摩托车跳跃认证。
当普通用户搜索motorcycle时,不应返回任何内容,但如果他们搜索Smith,则应返回两者。
具有搜索认证字段能力的用户在搜索摩托车时将返回 Mark,如果搜索 Smith,则两者都返回。
elasticsearch - ElasticSearch/Elastica:搜索包含“and”或其他停用词的确切术语
我试图让 ES QueryString 匹配其中包含“和”的搜索词,但到目前为止我尝试过的所有内容(尝试不同的分析器、tokenziers、过滤器)都没有奏效。在 MySQL 方面,我想要的是:
我尝试了各种配置,这是我目前正在使用的(略有改进,因为它匹配“abbot”(带有尾随空格),但仍然不匹配任何带有“and”的内容:
这是我的测试用例字段值:
尝试各种分析器,我似乎无法让它匹配任何包含“和”的东西。
结果:
php - Elastica Search 如何从索引的 pdf/附件中检索纯文本结果
如何使用 FOS Elastica Bundle 从索引的 pdf 文件内容中获取纯文本搜索结果?
我正在使用
ElasticSearch 和 Attachment-Mapper 插件
Elastica
FOS Elastica Bundle,以及 Symfony2 上的 Doctrine
到目前为止,我已经能够启动并运行映射器附件。pdf 文件内容使用https://github.com/FriendsOfSymfony/FOSElasticaBundle/issues/96作为指南进行索引。
方法摘要,因此您不必阅读整个 github 帖子:
1) 使用“getEncodedFile”方法创建一个“文档”实体。注意:我只在这个方法中抓取文件内容。我不认为需要在此处对数据进行 base64 编码,因为稍后会发生这种情况(我很确定 Elastica Document 类会这样做)。
2)然后我设置了config.yml:
搜索函数返回正确的实体。当我 var_dump 混合结果时,我得到了正确的实体,包括所有字段。如果我添加“setHighlight”方法,没有任何变化。setHighlight 方法不返回关于“encodedFile”字段的任何内容。我确实得到了 setHighlight 来处理其他领域。
如何从索引的 base64 编码数据中提取纯文本搜索结果(带有一些上下文)?
根据这个堆栈帖子,数千个文档(pdf 和/或 xml)的可搜索存档的最佳实践,这似乎是可能的。
提前致谢
更新
所以我屈服了。我最终使用 XPDF 来提取和索引每个 pdf 文档的文本。然后我就照常运行查询。
symfony - 使用 foqelasticabundle 排除 _source 映射中的字段
我有 Elasticsearch 的附件插件来索引我存储在 Document 中的所有文件。我想将文件内容排除在 _source 中。
我的配置文件看起来像:
当我运行 foq:elastica:populate 时,我仍然看到“文件”属性存储在 _source 中。我无法弄清楚缺少什么。请帮忙