2012-05-22 5 views
1

У меня есть несколько предложений, хранящихся в MongoDB, и несколько словарей терминов (каждый термин состоит из одного или нескольких слов). Я хочу найти условия поиска в предложениях, но очень медленно пытаться выполнить сопоставление для каждого термина в каждом предложении, и это будет точное совпадение. Как я мог легко сделать нечеткое сопоставление или что-то подобное, чтобы найти мои условия для предложений?Сроки поиска по предложениям с python

Например,

Приговор:

Ala394Thr полиморфизм в гене часы NPAS2: а циркадный модификатор для риска лимфомы неходжкинской

Словарь:

Ala394Thr | NPAS-2 | Лимфома Ходжкина

И результат должен быть:

Ala394Thr полиморфизм в гене часов NPAS2: а циркадный модификатор риска лимфомы, не являющихся Ходжкина

+0

Добавьте несколько примеров документов, которые облегчают ответ на вопрос. – Derick

ответ

2

я бы, наверное, предположить, вы смотрите на специализированные поисковые системы, такие как Solr или ElasticSearch. Они гораздо лучше подходят для такого рода задач.

Посмотрите на https://github.com/renctan/mongo-solr о том, как это сделать с хвостовым оперением.

+0

Можно ли комбинировать Solr или ElasticSearch с mongoDB? – nathan

+0

Конечно, вам просто нужно будет внести все изменения в Solr и ElasticSearch. – Derick