感谢您之前的帮助,所以现在我可以探索有关弹性搜索的更多信息。
到目前为止,我可以使用elasticsearch操作数据。我在我的php框架(codeigniter)中创建了新的库。 在做了几个数据输入之后。 因为弹性的最好部分是搜索(当然是啊......),我想知道搜索功能。
但是当我创造它时,我对结果感到失望。 与kibana不同,我的结果没有显示我之前输入的关键字的高亮文本。
问题是: 如何在弹性搜索结果中制作高亮文本
我读过这篇文章: https://www.elastic.co/guide/en/elasticsearch/reference/2.3/search-request-highlighting.html但我不知道在哪里放这个代码:
{
"query" : {...},
"highlight" : {
"fields" : {
**"content" : {}**
}
}
}
因为我在php中的代码只是这样: 控制器:
$product = $this->elasticsearch->searchDocsWithParameter($type, $post);
$result = json_decode(json_encode($product),true);
echo "total took:";
echo $result['took'];
$x=0; $no=1;
while($x <= $result['_shards']['total']):
echo $no; echo" . ";
echo $result["hits"]["hits"][$x]['_source']['en_question'];
echo"<br>";
echo $result["hits"]["hits"][$x]['_source']['en_answer'];
echo"<br><br>";
$x++; $no++;
endwhile;
图书馆:
public function searchDocsWithParameter($type, $query")
{
return $this->call($type . '/_search?' . http_build_query(array('q' => $q)));
}
我已经在谷歌上搜索,没有人发布它是怎么回事。 这就是为什么我要求这个论坛。请帮帮我。
非常感谢回报 感谢答案 0 :(得分:1)
也许这会帮助您了解它应该如何运作:
Different result when using GET/POST in elastic search
但对我来说,更好的选择应该是从composer下载elasticsearch库并在你的项目中使用它:
https://philsturgeon.uk/php/2012/05/07/composer-with-codeigniter/
然后您将拥有一个更广泛的库来使用:
https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/index.html