Поле, имеющее несколько отличных значений

Единственный тон, который вам нужно изменить, это использовать свойство «params», а не «data», когда вы создаете свой объект $ http:

$http({
   method: 'POST',
   url: serviceUrl + '/ClientUpdate',
   params: { LangUserId: userId, clientJSON: clients[i] },
})

. В примере выше клиенты [i] просто Объект JSON (не сериализованный каким-либо образом). Если вы используете «params», а не «data», угловое будет сериализовать объект для вас, используя $ httpParamSerializer: https://docs.angularjs.org/api/ng/service/ $ httpParamSerializer

24
задан user40907 30 December 2008 в 22:47
поделиться

3 ответа

У Вас может быть поле для документа Lucene, происходят многократно. Создайте документ, добавьте значения для имя и автор, затем сделайте то же для каждой категории

  • создает новый lucene документ
  • , добавляет поле имени и оценивает
  • , добавляет поле автора и оценивает
  • за каждую категорию:
    • добавляют поле категории и оценивают
  • , добавляет документ индексу

при поиске индекса категорию это возвратит все документы, которые имеют поле категории со значением, которое Вы после. Категория должна быть полем 'Keyword'.

я записал его на английском языке, потому что определенный код немного отличается на lucene версию.

32
ответ дан Saltire 28 November 2019 в 23:37
поделиться

Можно создать простое поле "категории", где Вы перечисляете весь categrories для книги, разделенной пробелами.

Тогда можно искать что-то как:

stock market AND category:(+"business")

Или если Вы хотите искать больше чем в одной категории

stock market AND category:(+"business" +"philosophy")
5
ответ дан zehrer 28 November 2019 в 23:37
поделиться

Я использовал бы Solr вместо этого - он основывался на Lucene и справился ASF, но очень, намного легче использовать, чем Lucene, специально для вновь прибывших.

, Если предложения в значительной степени все функции магистрали Lucene (конечно, все Вам будет нужно для проекта, который Вы описываете), плюс дополнительные вещи как создание снимков, репликация, схемы...

В Solr, Вы просто определили бы поля, Вы хотите индексировать что-то вроде этого в schema.xml:

<field name="book_id" type="string" indexed="true" stored="true" required="true" multiValued='false'/>
<field name="book_name" type="text" indexed="true" stored="true" required="true" multiValued='false' />
<field name="book_authors" type="text" indexed="true" stored="true" required="true" multiValued='true' />
<field name="book_categories" type="textTight" indexed="true" stored="true" required="true" multiValued='true' />

Примечание, что эти multiValued='true' атрибут позволяет Вам эффективная передача массив или список к этому полю, которое разделяется и индексировало приятно Solr.

, Как только у Вас есть это, запустите Solr, и можно спросить запросы как" book_authors:Hemingway" или" book_categories:Romance book_categories:Mills".

существует несколько обработчиков запросов, предзаписанных и настроенных для Вас, чтобы сделать вещи как сложные запросы синтаксического анализа (нечеткие соответствия, логические операции, выигрывая повышения...), и поскольку API Solr представлен по HTTP, все это обертывается многими клиентскими библиотеками, таким образом, Вы не должны обрабатывать детали низкого уровня обработки запросов сами.

существует много из большое документация на их веб-сайте для запущения Вас.

4
ответ дан James Brady 28 November 2019 в 23:37
поделиться
Другие вопросы по тегам:

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