SOLR - подстановочный поиск с прописной буквой

Обратите внимание, что лучшая практика в Python 2.7 должна использовать новый стиль классы (не нужный с Python 3), т.е.

class Foo(object):
   ...

кроме того, существует различие между 'объектом' и 'классом'. Для создавания словаря от произвольного объект достаточно использовать __dict__. Обычно, Вы объявите свои методы на уровне класса и свои атрибуты на уровне экземпляра, таким образом __dict__ должен будет быть прекрасным. Например:

>>> class A(object):
...   def __init__(self):
...     self.b = 1
...     self.c = 2
...   def do_nothing(self):
...     pass
...
>>> a = A()
>>> a.__dict__
{'c': 2, 'b': 1}

А лучше приближаются (предложенный [1 111] robert в комментариях), встроенное vars функция:

>>> vars(a)
{'c': 2, 'b': 1}

, С другой стороны, в зависимости от того, что Вы хотите сделать, могло бы быть хорошо наследоваться от dict. Тогда Ваш класс уже словарь, и если Вы хотите Вас, может переопределить getattr и/или setattr, чтобы звонить через и установить dict. Например:

class Foo(dict):
    def __init__(self):
        pass
    def __getattr__(self, attr):
        return self[attr]

    # etc...

9
задан Yurish 3 December 2009 в 14:47
поделиться

2 ответа

Получен ответ на другом ресурсе. Проблема заключается в следующем: http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters «С подстановочным знаком. и нечеткий поиск, анализ текста по поисковому слову не выполняется ».

Надеюсь, это кому-то поможет.

10
ответ дан 4 December 2019 в 21:10
поделиться

Пробовали ли вы использовать EdgeNGrams? См. мой ответ на вопрос 2413946.

0
ответ дан 4 December 2019 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: