【问题标题】:Lucene-Style query string Elasticsearch PHPLucene 风格的查询字符串 Elasticsearch PHP
【发布时间】:2014-05-12 14:45:18
【问题描述】:

我已经搜索了几天如何使用数组作为参数或 JSON 格式从 Elasticsearch 查询数据,如本页所示 http://www.elasticsearch.org/guide/en/elasticsearch/client/php-api/current/_quickstart.html 但不能使用 lucene 样式的查询字符串。有什么方法可以使用带有 Elasticsearch PHP Client API 的 lucene 样式查询字符串从 Elasticsearch 查询数据,例如 (type:apache-access OR type:apache-error)?

【问题讨论】:

  • 您是否考虑过使用另一个 Elasticsearch PHP 客户端?喜欢Elastica?

标签: php elasticsearch query-string


【解决方案1】:

我相信你可以通过 uri 的 Elasticsearch 基本查询来做到这一点:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-uri-request.html

curl -XGET 'http://localhost:9200/twitter/tweet/_search?q=user:kimchy'

在这里进行一些讨论(包括它支持 Lucene 样式查询的事实):

http://okfnlabs.org/blog/2013/07/01/elasticsearch-query-tutorial.html

仅使用查询字符串查询基本查询

基本查询可以只使用查询字符串参数在 网址。例如,以下在任何字段中搜索文本“hello” 在任何文档中最多返回 5 个结果:

{endpoint}/_search?q=hello&size=5

像这样的基本查询的优点是它们只涉及 访问一个 URL,因此,例如,可以使用任何 网页浏览器。但是,这种方法是有限的,不给你 访问大多数更强大的查询功能。

基本查询使用 q 查询字符串参数,它支持 Lucene 查询解析器语法并因此过滤特定字段(例如 fieldname:value)、通配符(例如 abc*)等等。

您还可以选择多种其他选项(例如尺寸、来源等) 还可以指定自定义查询及其结果。完整的细节 可以在 ElasticSearch URI 请求文档中找到。

【讨论】:

    猜你喜欢
    • 2012-02-12
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 2015-04-09
    • 1970-01-01
    相关资源
    最近更新 更多