gpt4 book ai didi

symfony - ElasticSearch找不到UTF8字符

转载 作者:行者123 更新时间:2023-12-02 22:47:05 25 4
gpt4 key购买 nike

我正在使用ElasticSearch以及Symfony2和FOSElasticaBundle。然后,我尝试查找仅包含ASCII字符的任何内容,它的工作原理就像一个魅力。另外,我正在使用JSON数组存储数据,它将Unicode字符转换为\ u00f8C之类的东西。这会影响我的问题吗?我的搜索代码:

function __construct(Request $request, TransformedFinder $artist_finder, TransformedFinder $picture_finder, Router $router)
{
$this->request = $request;
$this->a_finder = $artist_finder;
$this->p_finder = $picture_finder;
$this->router = $router;
}

/**
* @param $query
* @return array
*/
public function search($query)
{
$locale = $this->request->getLocale();

$artist_results = $this->a_finder->find($query.'*', self::SEARCH_LIMIT);
$gallery_results = $this->p_finder->find($query.'*', self::SEARCH_LIMIT);

$results = array(
'artist' => array(),
'gallery' => array()
);

foreach($artist_results as $a)
{
$results['artist'][] = array(
'url' => $this->router->generate('artist_page', ['slug' => $a->getSlug()]),
'name' => $a->getInfo()[$locale]['name']. ' ' .$a->getInfo()[$locale]['surname']
);
}

foreach($gallery_results as $a)
{
$results['gallery'][] = array(
'url' => $this->router->generate('picture_page', ['slug' => $a->getSlug()]),
'name' => $a->getInfo()[$locale]['title']
);
}

return $results;
}

此外,ES是否有能力看到立陶宛语字符之间没有区别,例如“Š”和“S”,“Ė”和“E”等?我的意思是,我想通过“žąsis”和“zasis”之类的查询获得相同的结果。

最佳答案

我设法使它起作用。我不得不使用第二个json_encode参数JSON_UNESCAPED_UNICODE作为索引值,我认为这很有意义。

关于symfony - ElasticSearch找不到UTF8字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28125571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com