我使用下面的查询来获取php中的弹性搜索结果。
// REQUEST
OPTIONS /mohsenin/loans HTTP/1.1
Host: mohsenin.app
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: http://mclient.app
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36
Access-Control-Request-Headers: accept, authorization, crossorigin
Accept: */*
Referer: http://mclient.app/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,fa;q=0.6
// RESPONSE
HTTP/1.1 200 OK
Server: nginx/1.9.3 (Ubuntu)
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Allow: GET,HEAD
Cache-Control: no-cache, private
date: Mon, 18 Jan 2016 09:54:44 GMT
access-control-allow-origin: http://mclient.app
Vary: Origin
access-control-allow-credentials: true
access-control-allow-methods: GET, POST, PUT, DELETE
access-control-allow-headers: ACCEPT, AUTHORIZATION, CROSSORIGIN
Content-Encoding: gzip
何时使用上述代码,它将获取无与伦比的结果。该查询是否有任何错误。
答案 0 :(得分:1)
您好像在同一个字段et_tax
上查询两次。在第一种情况下,术语"农业"存在,然后再次出现"农业"不存在(-et_tax:
)。我希望这可以归还所有文件,因为术语"农业"字段et_tax
中存在或不存在,query_string
的默认运算符为OR
。
查看query_string
的{{3}}。您可以将default_operator
改为AND
。
此外,我建议您从搜索值中删除双引号,假设它们不是您要搜索的字词的一部分。
最后,我在地图中看不到q
字段。我不认为" q ="在您的查询中正如您所期望的那样工作。您可能需要将其删除并指定要查询的default_field
。
希望这会有所帮助......