Použil som Solr 6.6.2
Potrebujem vyhľadať špeciálne znaky a zdôrazniť to v Solr,
Ale to nefunguje,
moje údaje:
[
{
"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
}
]
Keď hľadám "C #",
Potom bude len odpoveď ako tento "test1 # titul C# ",
Zvýrazní "C" toto slovo ... a "#" nebude vyhľadávať a zvýrazňovať.
Ako môžem vyhľadávať a zvýrazňovať prácu pre špeciálne znaky?
odpovede:
1 pre odpoveď č. 1StandardTokenizer rozdelí žetóny na špeciálne znaky, čo znamená, že #
rozdelí obsah na samostatné tokeny - prvý token bude C
- a to, čo je zvýraznené. Pravdepodobne budete mať rovnaký výsledok, ak ste práve hľadali C.
Tokenizácia spôsobí, že vaše žetóny skončia test2
title
C
.
Použitie typu poľa s WhitespaceTokenizer že iba rozdelenie na biely priestor bude pravdepodobne alepšia voľba pre tento prípad presného použitia, ale nie je možné povedať, či to bude vhodná pre vaše bežné správanie pri vyhľadávaní (tj ak chcete skutočne zodpovedať "C" ku "C-99" atď. tieto znaky môžu byť potrebné), ale môžete použiť konkrétne pole na zvýraznenie a reťazec analýzy polí sa použije na určenie toho, čo sa má zvýrazniť a môžete požiadať o zvýraznenie pôvodného aj konkrétnejšieho poľa a potom použite najlepší výsledok v aplikácii frontend.