我正在尝试将中文索引和搜索到 Elasticsearch 中。通过使用Smart Chinese Analysis (elasticsearch-analysis-smartcn) 插件,我成功地搜索了简体和繁体中文的字符和单词。我尝试在简体中文和繁体中文中插入相同的文本,但搜索只返回一个结果(取决于搜索的执行方式);由于文本相同,因此我希望返回两个结果。我在这里读到,为了支持繁体中文,我还必须安装STConvert Analysis (elasticsearch-analysis-stconvert) 插件。谁能提供一个使用这两个插件的工作示例?(或达到相同结果的替代方法)
测试索引创建为
{
"settings":{
"analysis":{
"analyzer":{
"chinese":{
"type":"smartcn"
}
}
}
},
"mappings":{
"testType":{
"properties":{
"message":{
"store":"yes",
"type":"string",
"index":"analyzed",
"analyzer":"chinese"
},
"documentText": {
"store":"compress",
"type":"string",
"index":"analyzed",
"analyzer":"chinese",
"termVector":"with_positions_offsets"
}
}
}
}
}
并且在简繁体中具有相同文本的两个请求是
{
"message": "汉字",
"documentText": "制造器官的噴墨打印機 這是一種制造人體器官的裝置。這種裝置是利用打印機噴射生物 細胞、 生長激素、凝膠體,形成三維的生物活體組織。凝膠體主要是為細胞提供生長的平台,之后逐步形成所想要的器官或組織。這項技術可以人工方式制造心臟、肝臟、腎臟。這項研究已經取得了一定進展,目前正在研究如何將供應營養的血管印出來。這個創意目前已經得到了佳能等大公司的贊助"
}
{
"message": "汉字",
"documentText": "制造器官的喷墨打印机 这是一种制造人体器官的装置。这种装置是利用打印机喷射生物 细胞、 生长激素、凝胶体,形成叁维的生物活体组织。凝胶体主要是为细胞提供生长的平台,之后逐步形成所想要的器官或组织。这项技术可以人工方式制造心脏、肝脏、肾脏。这项研究已经取得了一定进展,目前正在研究如何将供应营养的血管印出来。这个创意目前已经得到了佳能等大公司的赞助"
}
最后,我想返回两个结果的示例搜索是
{
"query":{
"query_string":{
"query":"documentText : 制造器官的喷墨打印机",
"default_operator":"AND"
}
}
}