Lucene yabancı karakter sorunu

0 Cevap php

Ben Zend_Lucene ve aaO gibi yabancı karakterler kullanarak bazı ciddi sorunlar yaşıyorum. Sorgulanan olduğunda indeks oluşturulur ve bu sorunlar hem görünür. Ben iso-8859-1 ve utf-8 hem de denedim.

ISO-8859-1

Çalışmıyor sorgusu "+_area:skåne" gibi görünüyor. Zend_Lucene ile hiçbir sonuç alıyorum, ama ben Luke bu sorguyu çalıştırırsanız ben çok uyan docuements olsun.

Endeks 20 alanları içerir. "_area" Alanına aşağıdaki sözdizimi ile eklenir:

$doc->addField(Zend_Search_Lucene_Field::keyword('_area', strtolower($item['area']), 'iso-8859-1'));

Ben Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive analizörü kullanıyorum.

Indeksleme çalışırken, aşağıdaki hata iletisi (endeksli belgeler rastgele iso-8859-1 kodlama ile DB seçildi) bazen çıktı

Uyarı: iconv (): TextNum.php giriş dizesinde geçersiz bir karakter algılandı.

Bu, bu uyarıları neden olduğu gibi görünüyordu $ this-> _input, boş olup olmadığını kontrol ederek "çözüldü" oldu. Not: garip sorgu sonuçları önceden varolan bir durum vardı.

Ben yabancı karakterleri kullanarak anahtar kelime alanlarını arama yaptığınızda yukarıda hata alırsınız, ama ben metin alanları arama yaparken farklı davranır. Daha sonra yaklaşık yüz aşağıdaki hata üretir.

Dikkat: 1996 \ Zend \ Ara \ Lucene \ Ara \ Sorgusu \ MultiTerm.php on line 472: konum Undefined

Ama bu doğru bir sonuç kümesi gibi görünüyor üretir! Bir yan not olarak, bu ikinci sorgu Luke herhangi bir sonuç üretmez.

UTF-8

Benim gördüğüm kadarıyla, Zend_Lucene dahili kullanır, çünkü ben de UTF-8 denedim. Veri seti ISO-8859-1 olduğundan, ben bunu kullanarak dönüştürmek utf8_encode. Ancak indeksleme aşağıdaki hataları üretir.

Notice: Undefined offset: 266979 in \Zend\Search\Lucene\Index\SegmentInfo.php on line 632

Notice: Trying to get property of non-object in \Zend\Search\Lucene\Index\SegmentMerger.php on line 196

Notice: Trying to get property of non-object in \Zend\Search\Lucene\Index\SegmentMerger.php on line 200

Notice: Undefined index: in \Zend\Search\Lucene\Index\SegmentWriter.php on line 231

Notice: Trying to get property of non-object in \Zend\Search\Lucene\Index\SegmentWriter.php on line 231

Notice: Undefined offset: 250595 in \Zend\Search\Lucene\Index\SegmentInfo.php on line 2020

Notice: Trying to get property of non-object in \Zend\Search\Lucene\Index\SegmentInfo.php on line 2020

Notice: Undefined index: in \Zend\Search\Lucene\Index\SegmentWriter.php on line 465 ...


Yani. Birisi biraz ışık tutacak miyiz? :) Ben bu karşılaşan tek ben değilim ki (googling gün sonra) inanıyorum.

0 Cevap