[英]How can I search the special characters in Solr
我用過Solr 6.6.2
我需要搜索特殊字符並在Solr中突出顯示,
但這行不通
我的數據:
[
{
"id" : "test1",
"title" : "test1# title C# ",
"dynamic_s": 5
},
{
"id" : "test2",
"title" : "test2 title C#",
"dynamic_s": 10
},
{
"id" : "test3",
"title" : "test3 title",
"dynamic_s": 0
}
]
當我搜索“ C#”時,
然后它將像這樣“ test1#title C #”那樣響應,
它只是高亮顯示“ C”這個單詞,而“#”不會搜索並突出顯示。
如何搜索和突出顯示特殊字符?
StandardTokenizer在特殊字符上拆分令牌,這意味着#
會將內容拆分為單獨的令牌-第一個令牌為C
這就是突出顯示的內容。 如果僅搜索C,則可能會得到完全相同的結果。
令牌化過程將使您的令牌最終成為test2
title
C
。
在這種確切的用例中,將帶有僅在空格上分割的WhitespaceTokenizer使用字段類型可能是一個更好的選擇,但是無法說出這是否適合常規搜索行為(例如,如果您實際上想匹配) 'C'到'C-99'等,可能需要按這些字符分割)。 但是-您可以使用特定字段突出顯示,並且該字段分析鏈將用於確定突出顯示的內容。 您可以要求突出顯示原始字段和更具體的字段,然后在前端應用程序中使用最佳結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.