Exemple #1
0
def QuranicSearchEngine(indexpath="../../indexes/main/",
                        qparser=QuranicParser):
    return BasicSearchEngine(
        qdocindex=QseDocIndex(indexpath),
        qparser=qparser,
        mainfield="aya",
        otherfields=[],
        qsearcher=QSearcher,
        qreader=QReader,
        qspellcheckers=[QAyaSpellChecker, QSubjectSpellChecker],
        qhighlight=Qhighlight)
Exemple #2
0
    def make_spellerrors_dict(self):
        """ make the spell errors dictionary
        @deprecated: forget this!
        """

        D = QseDocIndex()
        R = QReader(D)
        nor = QArabicSymbolsFilter(True, True, True, True).normalize_all
        spell_err = {}
        for term in R.reader.all_terms():
            if term[0] in ["aya"]:
                normalized = nor(term[1])
                if spell_err.has_key(normalized):
                    spell_err[normalized].append(term[1])
                else:
                    spell_err[normalized] = [term[1]]

        #print "\n".join( [unicode( key ) + u":" + ",".join( value ) for key, value in spell_err.items()] )

        raw_str = self.dheader + u"\nspell_err=" + str(spell_err)

        fich = open(self.__dypypath + "spellerrors_dyn.py", "w+")
        fich.write(raw_str)
Exemple #3
0
def test_searching():
    index = QseDocIndex( paths.QSE_INDEX )
    reader = QReader( index )
    assert list(reader.list_terms( "sura_name" ))[:10] == []
Exemple #4
0
if __name__ == "__main__":
    parse = _make_arabic_parser()

    print(parse("\"عاصم\""))
    print(parse("[1 الى 3]"))
    print(parse("{a,b،c}"))
    print(parse("#122 ~dsd"))
    print(parse(">>اية"))
    print(parse("%عاصم"))
    print(parse("ليس عاصم و الموت أو الحياة وليس غيرهما"))
    print(parse("اية:عاصم"))
    print(parse("'h h  j'"))
    print(parse("a*a"))
    print(parse("a*"))

    D = QseDocIndex("../alfanous/indexes/main/")
    QP = FuzzyQuranicParser(D.get_schema(), otherfields=['subject'])

    print(QP.parse("'لو كان البحر '"))
    print(QP.parse("\"عاصم\""))
    print(QP.parse("[1 الى 3]"))
    print(QP.parse("{ملك,فعل}"))
    print(QP.parse("#122 ~dsd"))
    print(QP.parse(">>سماكم"))
    print(QP.parse("%عاصم"))
    print(QP.parse("ليس عاصم و الموت أو الحياة وليس غيرهما"))
    print(QP.parse("آية:عاصم"))
    print(QP.parse("'h h  j'"))
    print(QP.parse("a*a"))
    print(QP.parse("b*"))
    print(QP.parse("*"))