Search Index
This is an open discussion with 405 replies, filed under Extensions.
Search
also setting 'get-param-prefix' => 'param_pool' produces:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ELSE 1 END ) AS score FROM sym_search_index' at line 14
i've put 'keywords/page' as url params in the search page config.
Oops. I really didn't have any indexes defined in Search Index › Indexes . How can it be? This page forgets its settings for the 3rd time for today. I've already recreated the indexes. Now again.
I also get the same problem , while using french text as keyword. In url the value is passed correctely and when i see on search logs the adjusted keyword is like ?? (i.e) for example when keyword is Siège it is adjusted as si??ge. any fix for this problem
priya, are you using the latest version of this extension? I am using it here and cannot replicate the issue you are reporting. I have an entry that contains the text Siège
, I have indexed it, and am passing Siège
in the querystring, which matches the entry and returns it in the XML.
Do you see these question mark characters anywhere else in Symphony except Search Index? It sounds like you have incorrect character set settings in MySQL:
Nick, suppose you didn't read my posts in this topic. DB encoding isn't the cause.
When you pass params via URL (e.g. http://mydomain.tld/search/?keywords=Siege in French/ ) the query string is being converted by browser rules (not even RFCs, i'm sure, 'cos Firefox and IE 's behavior differs). So even if you do urldecode of this data, you won't get the original string! Or you'll get it in some cases, and don't - in another ones.
What i do to solve the task? i first urlencode the query string, pass it to the server (e.g. http://mydomain.tld/search/?keywords=Siege%20in%20French/) afterwards urldecode it in symphony scripts.
Sorry Tim, I'm still not 100% sure of the exact problem you're having. If this isn't specifically about Search Index I suggest you start a new forum thread describing the issue again and clear steps on how to replicate it. We've got a lot of multi-lingual users, so I'm sure somebody has an answer for you. All I can say is that you shouldn't have to be URL-encoding things yourself, the browsers should be handling this for you.
Ok, thanks a lot. i'll try to dig into the problem )
Thank u so much nick. Problem got resolved.
@pyria, What line number in that class? I can't find it in a 2.2.1 install?
i'm using version 2.1.2. Its line number 206 , pregmatchall('/[^<>?@:!-/[-`ëí;‘’…]+/u', $string, $matches);
Nick, is there any preference in splitting keywords? Would the extension prefer ,
or +
in the $_GET
params?
one,two,three or one+two+three
Does it do any post processing to achieve either method?
Multiple words in keywords
are always split using spaces. The extension supports quotes and boolean operators, so you could potentially have:
+symphony "nick dunn" -sucks
Which would find entries that much contain the word symphony
, the phrase nick dunn
, but not the word sucks
.
So in your example you'd pass either:
one+two+three
or
one%20two%20three
Only the sections
parameter would be a comma list.
Thanks for that! Helps me sort out my event stuff...
I'm was thinking that I need a regex to heck the string, but I'll just pass the whole string forward.
I'm using CLean URL Params btw (if you were wondering what I'm babbling about)...
I'm using multilingual filed and my search Index is just searching the English field and not searching the content in French field
Is there any temporary fix for this issue. Or i need my french field to be searched instead of English.
Nice extension thx, I have a small feature request: renaming the sections area form Search Index to XY
Nice extension thx
Thanks! You're welcome.
feature request: renaming the sections area form Search Index to XY
What name would you prefer? The link in the navigation can be translated when you install another Symphony language, so I'm not sure how this would work if you've customised it yourself.
Hi Nick,
I mean, if you would like to move it into an already existing section (EN or other language).
I'm using multilingual filed and my search Index is just searching the English field and not searching the content in French field
Is there any temporary fix for this issue. Or i need my french field to be searched instead of English.
Please see my original reply on this.
Thank u nick, I'm using search index for multilingual support posted by kanduvisla, i'm getting this error msg.
Unknown column 'data_en' in 'field list'
An error occurred while attempting to execute the following query
INSERT INTO sym_search_index
(entry_id
, section_id
, data
, data_en
, data_fr
) VALUES ('231', '25', ' Contact area no 2 subbiya nagrar pondy ', ' Contact area no 2 subbiya nagrar pondy ', ' Contact area no 2 subbiya nagrar pondy ')
so i added the field "data_en" and "data_fr" in the table sym_search_index, the error msg got resolved.
But the problem is, in both the field (dataen and datafr) same values are stored (ie. english content alone), instead of french content in data_fr. where should i alter the insert query to set the table to store appropriate value. Plz help me on this
Create an account or sign in to comment.
No-no, it's a whole Symphony strangeness :-) When i enter smth like /search/keywords-in-cyrillic the site is broken (with loadXML errors). So i usually do: '/search/'+encodeURIComponent(keywords-in-cyrillic) in javascript to solve the task. BTW, sometimes Mozilla automatically encodes the GET params, sometimes - not. IE -- never. ... Or i lack knowledge of this stuff and it's an ordinary behavior of GET passing and parsing in browsers? :-)