2014-05-12 117 views
1

我已經搜索了幾天如何查詢數據從Elasticsearch的數組作爲參數或與像這個頁面上顯示的JSON formaat http://www.elasticsearch.org/guide/en/elasticsearch/client/php-api/current/_quickstart.html 但不是與lucene風格的查詢字符串。有沒有辦法使用Elasticsearch PHP客戶端API使用Lucene風格的查詢字符串來查詢Elasticsearch中的數據,比如(type:apache-access OR type:apache-error)?Lucene樣式查詢字符串Elasticsearch PHP

+0

您是否考慮過使用其他Elasticsearch PHP客戶端?像[Elastica](https://github.com/ruflin/Elastica)? – eliasah

回答

0

我相信你可以通過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

查詢基本曲eries僅使用查詢字符串

基本查詢可以僅使用 URL中的查詢字符串參數完成。例如,對於任何文件在任何領域 文本「你好」最多5個結果如下搜索和回報:這樣

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

基本查詢的優勢在於他們只涉及 訪問URL,因此,例如,只需使用任何網頁瀏覽器即可執行。但是,這種方法是有限的,並且不會讓您訪問大多數更強大的查詢功能。

基本查詢使用支撐 Lucene的查詢語法分析,並因此在特定字段過濾將q查詢字符串參數(例如 字段名:值),通配符(例如ABC *)和更多。

您還可以指定多種其他選項(例如,大小等),以定製查詢及其結果。詳細信息 可以在ElasticSearch URI請求文檔中找到。