Могу ли я найти документы на основе дублированных полей? - PullRequest
1 голос
/ 09 мая 2019

У меня есть сервер Solr с данными в этом формате:

{
  id: 1,
  text_1: "some_text1",
  text_2: "some_text2",
},
{
  id: 2,
  text_1: "some_text1",
  text_2: "some_text2",
}

Мне нужно найти документы, подобные тем, что я написал выше. Документы, которые имеют одинаковые значения text_1 и text_2, но разные идентификаторы.

Я пробовал использовать фасеты, но не уверен, поможет ли это. Во-первых, он возвращает только количество дубликатов, и мне нужны идентификаторы этих документов. Во-вторых, я не уверен, что огранка нескольких полей делает то, что я хочу. Я не уверен, что: facet.field=text_1&facet.field=text_2 показывает количество документов с обоими этими полями.

Спасибо, я мало что знаю о Solr. Любая помощь с благодарностью!

1 Ответ

1 голос
/ 09 мая 2019

Я думаю, что фасеты - ваш лучший выбор, чтобы сделать это, но, как вы заметили, вам нужно будет выполнить как минимум два запроса: один, чтобы получить фасеты, а другой, чтобы получить фактические документы, которые принадлежат фасету (то есть дубликаты).в вашем случае)

Чтобы мульти-аспекты работали для того, что вы пытаетесь сделать, вам нужно использовать PivotFaceting (https://lucene.apache.org/solr/guide/7_0/faceting.html#pivot-decision-tree-faceting). Синтаксис facet=on&facet.pivot=field1,field2

Убедитесь, что поле, которое вы используете для фасетов, является полем string, а не полем text.

...