我對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 –