我找不到有关如何使用PHP(elasticsearch-php)中的完成建议器查询Elasticsearch的有效示例。
通过CURL查询,例如
curl -X POST 'localhost:9200/tstidx/_suggest?pretty' -d '{
"try" : {
"text" : "a",
"completion" : {
"field" : "suggest"
}
}
}'
可以,所以唯一的问题是PHP中的查询部分。
如何使用API通过完成建议器查询Elasticsearch?
PHP ES客户端具有一种称为的方法suggest
,您可以将其用于该目的:
$params = [
'index' => 'tstidx',
'body' => [
'try' => [
'text' => 'a',
'completion' => [ 'field' => 'suggest' ]
]
]
];
$client = ClientBuilder::create()->build();
$response = $client->suggest($params);
我想从多个领域得到建议。我找不到这样的例子,所以也许这不是最好的主意,但我对你的意见很感兴趣。 要求是: GET查询适用于文本“fyodor”和“dostoevsky”,此示例仅适用于“fyodor” 启用筛选建议 我有什么想法可以实现这些?
问题内容: 我已经在网上尝试了一些有关ElasticSearch的提示功能的示例代码,但是无法针对自动完成解决方案解决我的问题 我的索引: 我使用了suggestbuilder来获取关键字,然后扫描内容“字段”,这是由于没有结果而导致空指针异常的地方 我是否缺少一些过滤器或输入条件以获取结果?任何结果都应该可以,例如自动完成或找到记录。 编辑1: 这是我得到NPE的地方,我可以看到 调试模式下没有
我使用suggestbuilder获取关键字,然后扫描内容“field”,这里是由于没有结果而发生空指针异常的地方 为了得到结果,我是否遗漏了一些过滤器或输入标准?任何结果都应该确定,如自动完成或记录找到。 编辑1:
问题内容: 我有一个Elasticsearch索引,其中有一些数据。我实现了该功能,所以当用户写错拼写的东西时,它可能会收到带有正确单词的建议。 之所以使用短语建议者,是因为我需要一些简短的短语(例如名称)的建议,问题是索引中不存在某些建议。 例: 我的问题是,索引中没有与指定建议匹配的词组,因此它向我推荐了不存在的词组,因此会给我一个未找到的搜索词。 我该怎么办?短语建议者是否应该为索引中实际存
问题内容: 我正在寻找一种在Lucene中执行查询自动完成/建议的方法。我已经在Google上搜索了一些,并玩了一些,但是我看到的所有示例似乎都在Solr中设置了过滤器。我们不使用Solr,也不打算在不久的将来使用Solr,而且Solr显然无论如何都只是围绕Lucene,所以我想一定有办法做到这一点! 我已经研究过使用EdgeNGramFilter,但我意识到我必须在索引字段上运行过滤器并取出令牌