如何使用Python中的同义词在弹性搜索中搜索查询
我无法理解弹性搜索查询和同义词表的实现。对于一般查询,我没有任何搜索问题,但合并同义词对我来说是一个问题如何使用Python中的同义词在弹性搜索中搜索查询,python,
elasticsearch,synonym,Python,
elasticsearch,Synonym,我无法理解弹性搜索查询和同义词表的实现。对于一般查询,我没有任何搜索问题,但合并同义词对我来说是一个问题 es.search(index='data_inex', body={ "query": { "match": {"inex": "tren"} }, "settings": { "fil
es.search(index='data_inex', body={
"query": {
"match": {"inex": "tren"}
},
"settings": {
"filter": {
"synonym": {
"type": "synonym",
"lenient": true,
"synonyms": [ "foo, baz", "tren, hut" ]
}
}
}
}
)
另外,是否可以使用文件来代替此数组?请查看文档: 您还可以配置同义词文件:
PUT /test_index
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"synonym": {
"tokenizer": "whitespace",
"filter": [ "synonym" ]
}
},
"filter": {
"synonym": {
"type": "synonym",
"synonyms_path": "analysis/synonym.txt" // <======== location of synonym file
}
}
}
}
}
}
PUT/test\u索引
{
“设置”:{
“索引”:{
“分析”:{
“分析器”:{
“同义词”:{
“标记器”:“空白”,
“过滤器”:[“同义词”]
}
},
“过滤器”:{
“同义词”:{
“类型”:“同义词”,
“同义词路径”:“analysis/synonym.txt”//ES中没有put请求,只是get请求,不知道如何在代码中使用上述代码段。您知道python查询的弹性等价物吗?ES不支持在搜索查询中设置。是的。有两种方法…a)索引时间分析(映射期间将在字段中添加同义词分析器)b)查询时间分析(在这种情况下,需要在查询时间期间定义同义词分析器)我的回答有帮助吗?你能纠正这个问题吗?我很感谢你对我的问题的关注。但是你提供的代码我已经在es官方文档中看到了。如果你能为我提供搜索查询的python代码以及语义,我将不胜感激,这是我的问题,因为我上面的代码没有给我任何答案。我没有找到这方面的线索。