Whoosh требует, чтобы все строки были Unicode?
Я переделываю свое приложение для поиска в Whoosh от Solr. Сейчас я учусь с самого начала. Но я продолжал сталкиваться с проблемами каждый раз, когда мне приходилось иметь дело со строками
>>>writer.add_document(iden=fil, content=F2T.file_to_text(fil_path))
ValueError: 'File Name.doc' is not unicode or sequence
а потом:
>>>query = QueryParser("content", ix.schema).parse("first")
AssertionError: 'first' is not unicode
И эта линия идет прямо от быстрого стартапа! Whoosh требует, чтобы все поля были в юникоде? Это будет очень тяжелая работа, чтобы сделать мое приложение поддерживающим юникод (и это даже не стоит). Что касается "не Юникод или последовательность", я понимаю, что строка также является типом данных последовательности.
1 ответ
Решение
Да, это требует строки в Unicode.
query = QueryParser("content", ix.schema).parse("first")
Измените это на:
query = QueryParser("content", ix.schema).parse(u"first")