我对Elasticsearch有点新,我想知道如何在特定的字段上对查询进行部分匹配。Elasticsearch - 如何从您的查询中进行部分匹配
可以说我有一个名为“部门”的字段,它有一个值“会计”。所以当我寻找像“会计”这样的东西时,我应该能够得到结果。
如: - 下面是我的两个文件:在球场上department
{
"name": "Joe",
"department": "finance"
},
{
"name": "Matt",
"department": "accounting"
}
我的搜索查询是The accounting
或The accounting department
和我预期的结果应该是:
{
"name": "Matt",
"department": "accounting"
}
UPDATE:
@Russ Cam:标准分析仪删除所有的标点符号和特殊字符,那么如果我在该字段中有值,该怎么办保存为dept/accounting
,当我搜索dept: the dept/accounting
时,我应该得到那些部门值为dept/accounting
的文档。
当有人搜索dept
或accounting
时,我不希望ES向部门提供dept/accounting
文档。这可能吗?
假设下面是我的文档ES:
{
"name": "Matt",
"department": "dept/accounting"
},
{
"name": "Kate",
"department": "dept"
},
{
"name": "Adam",
"department": "accounting"
}
为dept
用户搜索并牵起:
{
"name": "Kate",
"department": "dept"
}
当用户搜索blah blah dept/accounting blah
他应该得到的只是这样的:
{
"name": "Matt",
"department": "dept/accounting"
}
已经在这里回答:https://开头计算器。 com/questions/46261677/how-to-match-a-single-word-from-a-search-in-elasticsearch/46261842#46261842 –