簡體   English   中英

如何在Solr中搜索特殊字符

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM