Полнотекстовый поиск в CouchDB

У меня проблема, и я надеюсь получить от вас ответ: -)

Итак, я взял geonames.org и импортировал все их данные Немецкие города со всеми районами.

Если я введу «Гамбург», появится «Центр Гамбурга, аэропорт Гамбурга» и так далее. Приложение находится в закрытой сети без доступа к Интернету, поэтому я не могу получить доступ к веб-службам geonames.org и мне приходится импортировать данные. :( Город со всеми его районами работает как автокомплект. Таким образом, каждое нажатие клавиши приводит к запросу XHR и т. Д.

Теперь мой клиент спросил, можно ли хранить в нем все данные мира. Наконец, около 5.000.000 строк с 45.000.000 альтернативных имен и т. Д.

Postgres требует около 3 секунд на запрос, что делает невозможным автоматическое завершение.

Теперь я подумал о CouchDb, уже работал с ним. Мой вопрос:

Я хотел бы опубликовать "Ham", и я хочу, чтобы CouchDB получил все документы, начинающиеся с "Ham". Если я введу "Гамбург", я хочу, чтобы он вернул Гамбург и т. Д.

Подходит ли для него CouchDB? Какие еще БД вы можете порекомендовать с низкой задержкой (может быть в памяти) и миллионами наборов данных? Набор данных не меняется регулярно, он довольно статичен! Всегда ли Python file.open (f, 'w') касается файла, даже если не было внесено никаких изменений? Используя Python, я пытаюсь заменить ...

Что возвращает Python string.replace, если подстановки строк не было? Всегда ли Python file.open (f, 'w') касается файла, даже если не было внесено никаких изменений?

Используя Python, я пытаюсь заменить в наборе файлов вхождения 'oldtext' на 'newtext'. Если файл содержит «старый текст», я хочу произвести замену и сохранить файл. В противном случае ничего не делайте, чтобы файл сохранил свою старую метку времени.

Следующий код работает нормально, за исключением того, что все файлы записываются, даже если не была произведена подстановка строк и все файлы имеют новую метку времени.

for match in all_files('*.html', '.'):  # all_files returns all html files in current directory     
  thefile = open(match)
  content = thefile.read()              # read entire file into memory
  thefile.close()
  thefile = open(match, 'w')             
  thefile.write(content.replace(oldtext, newtext))  # write the file with the text substitution
  thefile.close()

В этом коде Я пытаюсь выполнить file.write только в том случае, если произошла подстановка строки, но все же все файлы получают новую метку времени:

count = 0
for match in all_files('*.html', '.'):       # all_files returns all html files in current directory
    thefile = open(match)
    content = thefile.read()                 # read entire file into memory
    thefile.close()
    thefile = open(match, 'w')
    replacedText = content.replace(oldtext, newtext) 
    if replacedText != '':
        count += 1
        thefile.write(replacedText)
    thefile.close()
print (count)        # print the number of files that we modified

В конце счетчик - это общее количество файлов, а не количество измененных файлов. Какие-либо предложения? Спасибо.

Я использую Python 3.1.2 в Windows. Я только что начал проект с использованием ASP.NET MVC 3. Я строю поверх существующей объектной системы, поэтому первое, что мне нужно сделать, это определить шаблоны отображения и редактора для различных типов ...

Я только что начал проект с использованием ASP.NET MVC 3. Я строю на основе существующей объектной системы, поэтому одно из первых, что мне нужно сделать, это определить шаблоны отображения и редактора для различных существующих типов.

Возможно ли в MVC определить DisplayTemplate с универсальным аргументом? Например, у нас есть класс BitString , который принимает перечисление в качестве универсального аргумента и представляет список опций, охватывающих предоставленное перечисление. Я надеюсь, что смогу определить один шаблон дисплея / редактора, который обрабатывает все экземпляры BitString.

В настоящее время я использую Razor для своих представлений, Я думаю, что это может быть дублированием этого вопроса ... Но ему уже полтора года, так что, может быть, у кого-то есть лучший ответ на данный момент? Общий частичный вид: как установить общий класс в качестве модели?

6
задан Community 23 May 2017 в 12:31
поделиться