2016-06-01 2 views
0

Я хочу искать слова до определенной строки, а не за ее пределами, используя запрос solr. Я пробовал близость, но он не работал. мои данные какSOLR как ограничить содержание поиска в запросе solr

Blockquote "Дата: Thu, 24 Jul 2014 9:36:44 GMT \ nCache-Control: частный \ nContent-Type: применение/JSON, кодировка = UTF-8 \ nContent-Encoding: gzip \ nVary: Accept-Encoding \ nP3P: CP =% 20CURo TAIo IVAo IVDo ONL UNI COM NAV INT DEM STA OUR% 20 \ nX-Powered-By: ASP.NET \ nContent-Length: 570 \ nKeep-Alive: timeout = 120 \ nСоединение: Keep-Alive \ n \ n [{% 20rows% 20: [],% 20index% 20: [],% 20folders% 20: [[% 20Inbox% 20,% 20Inbox% 20,% 20% 20 , 1,1,0,0,0,% 20Inbox% 20,0,0,% 20none% 20,0], [% 20Drafts% 20% 20% 20Drafts,% 20% 20,1,1,0, 0,0,% 20Drafts% 20,0,0,% 20none% 20,0], [% 20Sent% 20% 20% 20Sent,% 20% 20,1,1,0,0,11,% 20Sent% 20,1,0,% 20none% 20,0], [% 20Spam% 20% 20% 20Spam,% 20% 20,1,1,0,0,0,% 20Spam% 20,1,0,% 20none% 20,0], [% 20Deleted% 20% 20% 20Trash,% 20% 20,1,1,0,7,9,% 20Deleted% 20,1,0,% 20none% 20,0], [% 20Saved% 20,% 20Saved Mail% 20,% 20% 20,1,1,0,0,0,% 20Saved% 20,1,0,% 20n один% 20,0], [% 20SavedIMs% 20,% 20Saved Chats% 20,% 20Saved% 20,2,1,0,0,0,% 20SavedIMs% 20,1,0,% 20none% 20,0] ],% 20fcsupport% 20: правда,% 20hasNewMsg% 20: ложные,% 20totalItems% 20: 0,% 20isSuccess% 20: правда,% 20foldersCanMoveTo% 20: [% 20Sent% 20% 20Spam% 20% 20Deleted% 20 ,% 20Saved% 20,% 20SavedIMs% 20],% 20indexStart% 20: 0}] POST /38664-816/aol-6/en-us/common/rpc/RPC.aspx?user=hl1lkgReIh & transport = xmlhttp & r = 0.019667088333411797 & a = GetMessageList & l = 31211 HTTP/1.1 \ nHost: mail.aol.com \ nИнтерсервер: Mozilla/5.0 (Windows NT 5.1; rv: 31.0) Gecko/20100101 Firefox/31.0 \ nAccept: text/html, application/xhtml + xml, application/xml; q = 0.9, /; q = 0,8 \ nAccept-Language: en-US, en; q = 0.5 \ nAccept-Encoding: gzip, deflate \ nContent-Type: application/x-www-form-urlencoded; charset = UTF-8 \ nX-Requested-With: XMLHttpRequest \ nReferer: http://mail.aol.com/38664-816/aol-6/en-us/Suite.aspx \ nContent-Length: 452 \ nCookie: mbox = PC# 1405514778803-136292.22_06 # 1407395182 | session # 1406185366924-436868 # 1406187442 | check # true # 1406185642 ; s_pers =% 20s_fid% 3D55C638B5F089E6FB-19ACDEED1644FD86% 7C1469344726539% 3B% 20s_getnr% 3D1406186326569-Повторите% 7C1469258326569% 3B% 20s_nrgvo% 3DRepeat% 7C1469258326571% 3B; s_vi = [CS] v1 | 29E33A0D051D366F-60000105200097FF [CE]; UNAUTHID = 1.5efb4a11934a40b8b5272557263dadfe.88c5; RSP_COOKIE = type = 30 & name = YWxzaGFraWIyMDE0 & sn = MzRb% 2FjjHIe8odpr% 2FfxZR2g% 3D% 3D & stype = 0 & agrp = M; LTState = веры: 5 & лавы: 22 & ООН: * UQo5AwAnAytffwJSYg% 3d% 3d & зпа: * UQo5AwAnAytffwJSYg% 3d% 3d & уф: AOL & ЖЕ: ан-нас & уд: aol.com & еа: * UQo5AwAnAytffwJSCAsnWWoJASZL & prmc : 825345 & мт: 6 & АМС: 1 & CMAI: 365 & СНТ: 0 & vnop: Ложные & МХ: core-mia002b.r1000.mail.aol.com & уш: 100 & WM: mail.aol.com & CKD : .mail.aol.com & ckp:% 2f & ha: 1NGRuUTRRxGFF2s5A4JwkuCT43Q% 3d &; aolweatherlocation = 10003; DataLayer = минусы% 3D6.107% 26coms% 3D629; grvinsights = 69f3a2bb86ed3cd31aa1d14a1ce9e845; CUNAUTHID = 1.5efb4a11934a40b8b5272557263dadfe.88c5; s_sess =% 20s_cc% 3Dtrue% 3B% 20s_sq% 3Daolcmp% 253d% 252526pid% 25253Dcmp% 2525253A% 25252520Help% 25252520% 2525257C% 25252520View% 25252520Article% 2525253A% 25252520Clear% 25252520cookies% 2525252C% 25252520cache% 2525252C% 25252520history% 25252520and% 25252520footprints% 252526pidt % 25253D1% 252526oid% 25253Dhttp% 2525253A% 2525252F% 2525252Fwebmail.aol.com% 2525252F% 2525253F_AOLLOCAL% 2525253Dmail% 252526ot% 25253DA% 2526aolsnssignin% 253d% 252526pid% 25253Dsso% 25252520% 2525253A% 25252520login% 252526pidt% 25253D1% 252526oid% 25253DSign% 25252520In % 252526oidt% 25253D3% 252526ot% 25253DSUBMIT% 3B; L7Id = 31211; Context = ver: 3 & sid: 923f783b-bc6e-4edf-87c9-e52f19b3ce67 & rt: СТАНДАРТ & i: f & ckd: .mail.aol.com & ckp:% 2f & ha: X80Ku4ffRKsOVSwgmEVPCfpfxeU% 3d &; IDP_A = S-1-V0c3QiuO6BzQ5S6_u3s0brfUqMCktezAz7sWlVfHD90omIijDXRrMJkSM-9-xcnUcSTnXbcZ1aUCgvfuToVeJihcftKY5KtsC_nB7Y9qf6P0xUnNfCIAmWVtRf4ctSQ9JwRIzHa40dhFuULwYLu3NUPTxckeFUFAzcSS4hrmb4grhEtyOGp0qV5rIKtjs4u8; MC_CMP_ESK = АБСУРД; SNS_AA = asrc = 2 & sst = 1406185424 & type = 0; _utd = Gd # MzRb% 2FjjHIe8odpr% 2FfxZR2g% 3D% 3D | пр # а | й # sns.webmail.aol.com | # UID; Авт = вер: 22 & UAS: * UQo5AwAnAytffwJSZAskRiwLBSIDWVpVXxVTVwJCLFxdSnpHUWBbeV1jcikERgl6CEYLJUweGUhdFQQLW1h% 2bBAZRcllWfVl8VH4DUmRaZARoPhw% 2bBFBA & IDL: 0 & ип: * UQo5AwAnAytffwJSYg% 3d% 3d & по адресу: SNS & зп: * UQo5AwAnAytffwJSYg% 3d% 3d & WIM:% 252FwQCAAAAAAAEk2ihy% 252BE4MMebm4R1jvxY07zNZhFOHSz2EFBnsNdOAUsl8QyZceo54kWYZ4vwVayLFF7w & свинарник: 0 & уд: aol.com & UID: hl1lkgReIh & сс: 635417678271359104 & SVS: SNS_AA% 7c1406185424 & ла: 635417687268954835 & AAT: A & акт: M & уш: 100 & CBR: AOL & мт: & оплата: 0 & MBT: G & уф: AOL & ЖЕ: ан-нас & ставок: 1 & ДС: 1403348988 & пикс: 3829 & prmc: 825345 & RELM: AOL & ма:% 2 \ nConnection: держать-жив \ n "

и хотите найти Content-Type: application/json по данным, а не за этой строкой. Я попытался

http://192.168.0.164:8983/solr/collection_with_all_details/select?q=Content%3AContent-Type JSon * & вес = & отступа JSON = истинный

, но он ищет во всем содержании. Мне нужно ограничить содержание поиска

ответ

0

В этом случае я не думаю, что это возможно. Вы можете проверить highlighter, чтобы вернуть первые 200 символов в выделение ответа.

Возможно, вам нужно подумать о том, чтобы написание пользовательского отклика, который может помочь в этом.

Еще одна опция кабины для создания дополнительного поля с indexed="false"stored="true" будет более эффективной.

Создать исходное поле indexed="true"stored="false", размер вашего индекса будет уменьшен. Новое поле для копирования будет indexed="false"stored="true".

<copyField source="text" dest="textShort" maxChars="200"/> 

Проверьте, подходит ли это для вас.

0

Вы действительно должны предварительно обработать свои данные, чтобы просто проиндексировать часть, которую вы собираетесь использовать. Выполнение этого после того, как этот факт не будет хорошим решением, поскольку у вас будет большая часть содержимого в индексе уже, и вы ищете разделитель, который не расположен в одном конкретном местоположении байта (это то, что maxChars сможет делать).

В зависимости от того, как вы индексируете, вы можете либо сделать это на этапе индексирования (regextransformer, в вашем собственном коде с помощью SolrJ и т. Д.), Либо сделать это на этапе анализа кода, используя что-то вроде patternreplacefilter. Это позволит вам удалить что-либо после заголовка, который вы ищете.

Таким образом, вы должны иметь возможность индексировать содержимое в поле header и поле body, например, в зависимости от ваших потребностей.

Смежные вопросы