Подсчитайте общую частоту слова в индексе SOLR

Если я ищу слово в индексе SOLR, я получаю количество документов для документов, которые содержат это слово, но если слово включается в документ несколько раз, общее число все равно равно 1 на документ.

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

Я прочитал частоту слова в термине Solr и SOLR, и я включил компонент вектора термина, но он не работает.

Я настроил свое поле следующим образом:

<field name="text_text" type="textgen" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" />

Но если я сделаю следующий запрос:

http://localhost:8888/solr/sources/select?q=text_text%3A%22Peter+Pan%22&fl=text_text&wt=json&indent=true&tv.tf

У меня нет счета

{
  "responseHeader":{
    "status":0,
    "QTime":1,
    "params":{
      "fl":"text_text",
      "tv.tf":"",
      "indent":"true",
      "q":"text_text:\"Peter Pan\"",
      "wt":"json"}},
  "response":{"numFound":12,"start":0,"docs":[
      {
        "text_text":"Text of the document"},
      {
        "text_text":"Text of the document"},
      {
        "text_text":"Text of the document"},
      {
        "text_text":"Text of the document"},
      {
        "text_text":"Text of the document"},
      {
        "text_text":"Text of the document"},
      {
        "text_text":"Text of the document"},
      {
        "text_text":"Text of the document"}]
  }}

Я вижу значение "numFound", равное 12, но слово "Питер Пэн" включено 20 раз во все 12 документов.

Не могли бы вы помочь мне найти, где я не прав, пожалуйста?

Большое спасибо!

2 ответа

Попробуйте эту структуру создания частоты слова в ответе:

http://localhost:8983/solr/core/select?indent=on&q=solr&fl=field,termfreq("field","term")&wt=json

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

termfreq для фразы

Я бы попробовал ваш пример одним словом, а не фразой, и посмотрел бы, подходит ли он вам.

Другие вопросы по тегам