我正在从数据集中搜索特定短语的同义词。我有 2 个 JSON 文件,其中存储了由 yes 和 no 的同义词组成的数据。如果我查询“不感兴趣”,它会给出是和否的短语/同义词作为结果,预期的结果就是没有短语/同义词。
en-gen-yes.json
{
"tag":"en-gen-yes",
"phrases": [
"yes",
"yeah",
"sure",
"suits me",
"interested"
]
}
en-gen-no.json
{
"tag":"en-gen-no",
"phrases": [
"no",
"nope",
"not sure",
"does not suits me",
"not interested"
]
}
查询代码
query := bleve.NewMatchPhraseQuery("not interested")
req := bleve.NewSearchRequest(query)
req.Fields = []string{"phrases"}
searchResults, err := paraphraseIndex.Search(req)
if err != nil {
log.Fatal(err)
}
if searchResults.Hits.Len() == 0 {
fmt.Println("No matches found")
} else {
for i := 0; i < searchResults.Hits.Len(); {
hit := searchResults.Hits[i]
fmt.Printf("%s\n", hit.Fields["phrases"])
i = i + 1
}
}
结果如下
[不不不不确定不适合我不感兴趣] [是的,当然适合我感兴趣]
预期结果只是
[不不不不确定不适合我不感兴趣]