/ / Ako môžem vyhľadávať špeciálne znaky v aplikácii Solr - vyhľadávanie, soll, špeciálne znaky, zvýraznenie

Ako môžem vyhľadávať špeciálne znaky v aplikácii Solr - vyhľadávanie, soll, špeciálne znaky, zvýrazniť

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ď č. 1

StandardTokenizer 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.