Вы можете проверить любой источник метода lodash
, перейдя на https://lodash.com & amp; нажав Источник
Например, перейдите на https://lodash.com/docs/4.17.11#differenceBy
Если я вас правильно понял, у вас есть два вопроса:
Похоже, что делать это очень хорошо. Единственное ограничение, которое у вас будет (сохраняя ссылку на проект в Lucene, а не на сами данные проекта), заключается в том, что вы не сможете одновременно запрашивать текст документа и метаданные проекта. Например, «documentText: foo OR projectName: bar». Если у вас нет такого требования, то кажется, что сохранение идентификатора в Lucene, который относится к строке базы данных, - это нормально.
Я не уверен в вашей общей настройке, но, возможно, Hibernate Search вам подойдет. Это позволит вам объединить преимущества реляционной базы данных с мощью полнотекстовой поисковой системы, такой как Lucene. Метаданные могут находиться в базе данных, возможно, вместе с исходными документами pdf, в то время как документы Lucene содержат только данные для поиска.
Это определенно возможно. Но всегда помните о том, что вы используете Lucene для чего-то, для чего он не предназначен. В общем, Lucene предназначен для полнотекстового поиска, а не для отображения реляционного контента. Таким образом, чем сложнее ваша система становится реляционным контентом, тем сильнее вы увидите снижение производительности.
В частности, есть несколько областей, за которыми следует внимательно следить:
Если вам нужен более мощный индекс, предназначенный для реляционного контента, существуют инструменты иерархического индексирования (один, разработанный Apache, под названием Jackrabbit ), на которые стоит обратить внимание.
Как ваш проект продолжает расти, вы также можете попробовать Solr , также разработанный Apache, который предоставляет некоторые дополнительные функции, такие как многогранный поиск.
You can use Lucene that way;
Pros:
Full-text search is easy to implement, which is not the case in an RDBMS.
Cons:
Referential integrity: you get it for free in an RDBMS, but in Lucene, you must implement it yourself.