Hi Craig,
I think the problem is in the current locale. It doesn't match actual
query string encoding.
Which locales are used for CentOS and Solaris?
That's possible you have to set locale with:
-----
setlocale(LC_ALL, 'your_locale.encoding');
---
Alternative way is to set encoding explicitly.
You may:
1. Set default encoding for query parsing
------------
Zend_Search_Lucene_Search_QueryParser::setDefaultEncoding($encoding);
$hits = $index->find($query);
-------
2. Parse query with specified encoding
------------
$parsedQuery = Zend_Search_Lucene_Search_QueryParser::parse($query,
$encoding);
$hits = $index->find($parsedQuery);
-------
PS The same problem may appear for index creation/update.
Set appropriate current locale or use optional 'encoding' parameter of
field creation methods:
-----------
$doc = new Zend_Search_Lucene_Document();
$doc->addField(Zend_Search_Lucene_Field::Text($name, $vaule,
$valueEncoding));
...
-------
With best regards,
Alexander Veremyev.
Duncan, Craig wrote:
-->
Created a search index on local dev box (CentOS) which works fine. But
after copying the index to our Solaris production server, searching the
index fails with this error.
<b>Notice</b>: iconv_strlen() [<a href='function.iconv-strlen'>function.iconv-strlen</a>]: Unknown
error (22) in <b>/usr/local/Zend/apache2/oeportal/Zend/Search/Lucene/Search/QueryLexer.php</b> on line
<b>346</b>
I tried recreating the index on the Solaris box and got about a dozen or so
“iconv() unknown error” messages per document. We are running Zend Core for
Oracle on both boxes but I noticed the libraries were a little different from
php_info(). Both have lib version 1.9, but there implementation is different.
On Solaris: iconv implementation libiconv
On Linux: iconv implementation glibc
Is this the real issue? I found the following note in the docs as it appears
relevant:
“Note that the iconv function on some systems may not work as you expect. In such
case, it'd be a good idea to install the » GNU libiconv
<http://www.gnu.org/software/libiconv/> library. It will most likely end up
with more consistent results.”
Craig Duncan
PH: 919.379.9144
6501 Weston Parkway
Suite 340
Cary, NC 27513